0
点赞
收藏
分享

微信扫一扫

Android.bp语法和使用方法讲解

夕阳孤草 2023-09-15 阅读 47
linux笔记

目录

提示

  • [ ]:代表[ ]中的字段为可选参数
  • [options] :可选参数,代表命令的选项,选项通常由一个短划线(-)后面跟着一个字母或一个长划线(–)后面跟着一个单词组成。这些选项允许对命令的输出进行不同的格式化和过滤。
  • [directory] :可选参数,代表目录的路径。

一、文件和目录操作

  • ls: 列出目录内容。
ls [options] [directory]
# 列出当前目录的内容(通常是用户的主目录)
ls

# 列出指定目录的内容
ls /path/directory

# 列出当前目录的内容,包括隐藏文件和目录的内容
ls -a

# 以长格式列出当前目录的内容(包括权限、所有者、文件大小等信息)
ls -l
  • pwd: 显示当前工作目录。
pwd
  • cd: 切换目录。
cd [directory]
# 进入指定目录
cd /path/to/directory

# 进入用户的主目录(通常是 home 目录)
cd ~

# 进入上级目录
cd ..

# 进入根目录
cd /

# 返回上一次所在的目录(使用 - 作为参数)
cd -
  • touch: 创建空文件。
touch filename
  • mkdir: 创建目录。
mkdir directory
  • rm: 删除文件或目录。
rm [options] file/directory
# -r 或 -R:递归删除目录及其内容。
# 使用这个选项时,要特别小心,因为它将删除目录及其所有子目录和文件。
rm -r directory/

# -f:强制删除,不会提示用户确认。
# 这个选项通常与 -r 一起使用,以删除目录及其内容而无需确认。
rm -rf directory/

# -i:交互式删除,会在删除前提示用户确认。
rm -i file
  • cp: 复制文件或目录。
cp [options] source destination
# 复制文件到另一个位置
cp file1.txt /path/to/destination/

# 复制多个文件到目标目录
cp file1.txt file2.txt /path/to/destination/

# 复制目录及其内容到目标目录,使用 -r 选项进行递归复制
cp -r directory/ /path/to/destination/

# 保留原文件的权限和属性,使用 -p 选项
cp -p file1.txt /path/to/destination/

# 强制覆盖目标文件,如果目标文件已存在,使用 -f 选项
cp -f file1.txt /path/to/destination/

# 显示复制进度,使用 -v 选项(verbose)
cp -v file1.txt /path/to/destination/
  • mv: 移动或重命名文件或目录。
mv [options] source destination
# 移动文件到另一个位置
mv file1.txt /path/to/destination/

# 重命名文件
mv oldname.txt newname.txt

# 移动目录到另一个位置,使用 -i 选项进行交互式确认
mv -i directory/ /path/to/destination/

# 强制覆盖目标文件,如果目标文件已存在,使用 -f 选项
mv -f file1.txt /path/to/destination/

# 移动目录并保留原文件的权限和属性,使用 -p 选项
mv -p directory/ /path/to/destination/

# 移动多个文件到目标目录
mv file1.txt file2.txt /path/to/destination/

# 显示移动过程,使用 -v 选项(verbose)
mv -v file1.txt /path/to/destination/

二、文件查看和编辑

  • cat: 查看文件内容。
cat filename
  • more / less: 分屏查看文件内容。
# more 命令以一页一页地显示文件内容,每次按下空格键会显示下一页,按下 q 键退出。
# more 不支持回滚操作,只能向前查看。
more filename

# less 支持向前和向后滚动查看文件。
# 你可以使用空格键向下滚动一页,使用 b 键向上滚动一页,按下 q 键退出。
less filename
  • head / tail: 查看文件头部或尾部。
head [options] filename
tail [options] filename
# 查看文件的前 20 行
head -n 20 filename

# 查看文件的最后 20 行
tail -n 20 filename 

# 实时监视文件的末尾内容 
tail -f filename    
  • nano / vi / vim: 文本编辑器。
nano filename
vi filename
vim filename

三、文件权限管理

  • chmod: 修改文件权限。
chmod [options] mode filename
# 将文件 filename 的权限设置为所有者可读、写和执行,而其他用户只能读和执行
chmod 755 filename

# 递归地设置目录 directory 及其所有内容的权限
chmod -R 755 directory
# 允许所有者添加执行权限
chmod u+x filename 

#删除群组和其他用户的读写权限
chmod go-rw filename
  • chown: 修改文件所有者和所属组。
chown [newowner]:[newgroup] filename
# 将文件 file.txt 的所有者更改为用户 alice
chown alice file.txt 

# 将文件 file.txt 的所属组更改为组 users
chown :users file.txt 

# 将文件 file.txt 的所有者更改为用户 alice,并将所属组更改为组 users
chown alice:users file.txt 

四、文件压缩和解压缩

  • tar: 打包(压缩)文件。
tar -cvf archive.tar files/directories
# 创建一个名为 myarchive.tar 的归档文件,包含 file1.txt、file2.txt 和 directory1/
tar -cvf myarchive.tar file1.txt file2.txt directory1/
  • tar: 解包(解压缩)文件。
tar -xvf archive.tar
# 解包名为 myarchive.tar 的归档文件
tar -xvf myarchive.tar
  • tar: 查看归档文件内容。
tar -tvf archive.tar
# 显示 myarchive.tar 归档文件的内容列表
tar -tvf myarchive.tar
  • tar: 向归档文件添加文件或目录。
tar -rvf archive.tar new_files/directories
# 向名为 myarchive.tar 的归档文件中添加新文件和目录
tar -rvf myarchive.tar newfile.txt newdirectory/
  • gzip / gunzip: 压缩和解压缩文件。
# 压缩
tar -czvf archive.tar.gz files/directories

# 解压缩
tar -xzvf archive.tar.gz

五、查找文件

  • find: 在文件系统中查找文件和目录。
find [directory] [condition] filename
# 在当前目录及其子目录中搜索文件名为 "example.txt" 的文件
find . -name example.txt

# 在 /home/user/documents 目录中搜索文件名以 ".pdf" 结尾的文件
find /home/user/documents -name "*.pdf"

# 在整个文件系统中搜索目录名为 "backup" 的目录
find / -type d -name backup

# 搜索当前目录及其子目录中所有的空文件夹
find . -type d -empty

# 查找 /var/log 目录下最近 7 天内修改过的 .log 文件
find /var/log -type f -name "*.log" -mtime -7
  • grep: 在文件中搜索文本。
grep [options] pattern [file...]
# 在文件中搜索特定字符串
grep "pattern" filename

# 使用正则表达式搜索
grep -E "regex_pattern" filename

# 递归搜索目录中的文件
grep -r "pattern" /path/to/search

# 显示匹配行的行号
grep -n "pattern" filename

# 只显示包含匹配文本的文件名
grep -l "pattern" /path/to/search/*

# 显示不匹配模式的行
grep -v "pattern" filename

# 指定多个搜索模式
grep -e "pattern1" -e "pattern2" filename
  • locate: 基于数据库查找文件。
locate [options] pattern
# 查找包含指定名称的文件
locate filename

# 查找包含指定名称的目录
locate directoryname

# 忽略大小写查找
locate -i filename

# 限制显示结果数量
locate -l 5 filename

# 显示匹配结果的数量而不显示文件名
locate -c filename

# 使用正则表达式搜索
locate -r "regex_pattern"

六、系统信息和状态

  • uname: 显示系统信息。
uname [options]
# 显示操作系统名称
uname

# 显示所有系统信息
uname -a

# 显示内核版本
uname -r

# 显示硬件架构
uname -m
  • top/htop: 显示系统进程和资源使用情况。
# 多数 Linux 发行版中都默认安装了 top
# top 会以实时更新的方式显示系统状态,按 q 键可以退出
top

# 需要单独安装 htop。
# 是 top 的增强版本,提供了更多的功能和可视化效果
htop
  • ps: 显示当前用户的进程。
ps [options]
# 显示当前用户的所有进程
ps

# 显示所有进程的详细信息(包括其他用户的进程)
ps aux

# 以树状结构显示进程(显示进程的父子关系)
ps -ejH

# 显示某个特定用户的进程(以用户名为条件过滤)
ps -u username

# 显示某个特定进程的信息(以进程ID为条件过滤)
ps -p process_id

# 显示完整的进程命令行(包括参数)
ps -f

# 按 CPU 使用率排序并显示前 N 个进程
ps aux --sort=-%cpu | head -n N

# 按内存使用排序并显示前 N 个进程
ps aux --sort=-%mem | head -n N
  • df: 查看磁盘空间。
df [options]
# 查看所有挂载点的磁盘空间信息
df

# 查看指定文件系统类型(如 ext4、NTFS)的磁盘空间信息
df -t ext4

# 以更易读的格式显示磁盘空间(以 GB、MB 等单位显示)
df -h

# 仅显示本地文件系统(不包括虚拟文件系统)的磁盘空间信息
df -x tmpfs -x devtmpfs

# 显示指定挂载点的磁盘空间信息(用于特定目录的磁盘空间查看)
df /path/to/directory

# 以 inode 数量的方式查看文件系统信息(显示可用 inode 数量等)
df -i
  • du: 查看目录空间占用。
du [options] directory
# 查看指定目录的磁盘空间使用情况(默认单位为千字节)
du /path/to/directory

# 以人类可读的格式显示磁盘空间(以 GB、MB 等单位显示)
du -h /path/to/directory

# 查看目录的总磁盘使用情况,不显示子目录的详细信息
du -s /path/to/directory

# 仅显示指定深度内的目录磁盘使用情况(例如,只显示一级子目录的情况)
du --max-depth=1 /path/to/directory

# 以更多详细信息显示目录的磁盘使用情况,包括子目录
du -ah /path/to/directory

# 排除指定目录或文件的磁盘使用情况,以忽略特定内容
du --exclude=pattern /path/to/directory

七、用户和权限管理

  • who: 查看当前登录到系统的用户列表。
who
  • whoami: 显示当前登录用户的用户名。
whoami
  • passwd: 更改用户密码。
passwd [username]
  • adduser / useradd: 添加用户。
useradd [options] username
# 创建用户并创建home目录
useradd -m username 
  • deluser / userdel: 删除用户。
userdel [options] username
  • sudo: 以超级用户权限执行命令。
sudo command

八、网络相关操作

  • ping: 测试主机之间的连通性。
ping [options] hostname/IP
# 向示例主机 example.com 发送4个数据包
ping -c 4 example.com

# 设置数据包大小为100字节,并每隔1秒发送一个
ping -s 100 -i 1 example.com
  • ifconfig / ip: 配置网络接口信息。
# 显示当前系统上所有的网络接口(如以太网接口、无线接口等)的配置信息,包括IP地址、子网掩码、MAC地址等。
ifconfig

# 将以太网接口 eth0 的IP地址设置为 192.168.1.2,子网掩码为 255.255.255.0
ifconfig eth0 192.168.1.2 netmask 255.255.255.0

# 显示当前系统上所有网络接口的详细信息
ip addr show

# 将以太网接口 eth0 的IP地址设置为 192.168.1.2,子网掩码为 /24,表示 255.255.255.0
ip addr add 192.168.1.2/24 dev eth0
  • netstat/ss: 查看网络状态。
netstat [options]

ss [options]

# 查看网络接口信息
netstat -i

# 查看路由表信息
netstat -r

# 查看所有网络套接字的详细信息
ss -tuln

# 查看监听的TCP套接字
ss -tln

# 查看UNIX套接字
ss -lx
  • ssh: 远程登录到其他主机。
ssh [options] [user@]hostname
# 系统将提示你输入远程主机的用户密码以进行身份验证。一旦验证成功,你就可以在远程主机上执行命令。
ssh username@example.com

九、包管理

  • apt / apt-get: Debian/Ubuntu 包管理器。
# 更新软件包列表,这会从软件源更新软件包列表,以确保你能够获取到最新的软件包信息
apt update

# 安装指定名称的软件包
apt install package-name

# 升级系统中的所有软件包
apt upgrade

# 删除软件包,但保留配置文件
apt remove package-name

# 如果要删除软件包及其配置文件
apt purge package-name

# 搜索包含指定搜索词的软件包
apt search search-term

# 显示软件包信息
apt show package-name

# 查看已安装的软件包列表
apt list --installed

# 清理不再需要的依赖和缓存
apt autoremove
  • yum / dnf: Red Hat/CentOS 包管理器。
# 更新软件包列表
sudo yum update
# 或者
sudo dnf update

# 安装软件包
sudo yum install package-name
# 或者
sudo dnf install package-name

# 升级系统中的所有软件包
sudo yum upgrade
# 或者
sudo dnf upgrade

# 删除软件包,但保留配置文件
sudo yum remove package-name
# 或者
sudo dnf remove package-name

# 删除已安装的软件包及其配置文件
sudo yum erase package-name
# 或者
sudo dnf erase package-name

# 搜索软件包
yum search search-term
# 或者
dnf search search-term

# 显示软件包信息
yum info package-name
# 或者
dnf info package-name

# 查看已安装的软件包列表
yum list installed
# 或者
dnf list installed

# 清理不再需要的依赖和缓存
sudo yum autoremove
# 或者
sudo dnf autoremove

十、进程管理

  • kill: 终止指定进程ID的进程。
kill [options] process_id
  • ps: 查看进程信息。
ps [options]
  • top / htop: 查看系统进程。
top

htop
  • killall: 终止指定名称的进程。
killall [options] process_name

十一、时间和日期

  • date: 显示系统日期和时间。
date
  • cal: 显示日历。
cal

# 查看 2023 年 8 月的日历
cal 8 2023
  • timedatectl: 配置系统时间和时区。
# 查看当前的时间和时区设置
timedatectl

# 启用自动时间同步(NTP)
sudo timedatectl set-ntp true

# 将时区设置为 "Asia/Shanghai"
timedatectl set-timezone Asia/Shanghai

# 将日期设置为 "2023-08-28",时间设置为 "14:30:00"
timedatectl set-time "2023-08-28 14:30:00"

十二、系统关机和重启

  • shutdown: 关闭系统。
# 立即关闭系统
sudo shutdown -h now

# 立即重启系统
sudo shutdown -r now

# 计划在一定时间后关闭系统
sudo shutdown -h +30

# 取消计划的关机
sudo shutdown -c
  • reboot: 重启系统。
reboot

十三、文件传输

  • scp: 安全复制文件。
scp [options] source destination
# 从本地复制到远程计算机
scp /path/to/local/file username@remote:/path/to/destination/

# 从远程计算机复制到本地
scp username@remote:/path/to/remote/file /path/to/local/destination/

# 从远程计算机复制到本地并保持原始文件名
scp username@remote:/path/to/remote/file /path/to/local/destination/

# 从本地复制到远程计算机并保持原始文件名
scp /path/to/local/file username@remote:/path/to/destination/
  • rsync: 同步文件和目录。
rsync [options] source destination
# 从本地复制到远程计算机
rsync [options] /path/to/local/file username@remote:/path/to/destination/

# 从远程计算机复制到本地
rsync [options] username@remote:/path/to/remote/file /path/to/local/destination/

# 从远程计算机复制到本地并保持原始文件名
rsync [options] --relative username@remote:/path/to/remote/file /path/to/local/destination/

# 从本地复制到远程计算机并保持原始文件名
rsync [options] --relative /path/to/local/file username@remote:/path/to/destination/

十四、其他常用命令

  • echo: 打印文本。
echo "text"
  • history: 查看命令历史记录。
history [options]
  • wget/curl: 下载文件。
wget [options] URL
curl [options] URL

这些命令是 Linux 系统中常用的命令,用于执行各种系统管理和文件操作任务。每个命令都有各自的选项和参数,可以通过命令后跟 --help 查看帮助信息以获取更多详细信息。

举报

相关推荐

0 条评论