命令大全:Linux 命令大全 | 菜鸟教程
一、文件和目录操作命令
命令 | 功能 | 参数 | 注释 |
---|---|---|---|
ls | 列出当前目录下的所有文件和目录 | -l,详细信息,ll=ls -l -a,包括隐藏文件 | |
mkdir | 创建目录 | -p,递归创建 | |
cd | 更改目录 | cd /,到根目录 cd ~,到home目录 | |
pwd | 显示当前工作目录 | ||
rmdir | 删除空目录 | ||
rm | 删除文件或目录 | -r,删除目录 -f,强制删除 | |
cp | 复制文件或目录 | -r,复制目录 -p,保持文件属性(包括时间信息) | |
mv | 移动或重命名 | ||
touch | 创建文件 | ||
cat | 查看文件/制作镜像 | -n,显示行号 -A,包括隐藏符号 | 将压缩分卷合并:cat filename* > filename.tar.gz |
less | 分页查看 | 输入斜杠搜索;n表示下一个搜索结果 | |
head | 查看文件(前10行) | -n,显示前n行 | |
tail | 查看文件(后10行) | -f,动态显示后n行 | |
tar | 压缩解压缩 | -c,打包 -x,解包 -z,解压缩 -v,显示详细信息 -f,指定文件名 | |
zip/unzip | 压缩解压缩 | ||
split | 分卷 | -b,分卷大小 -d,数字后缀 | split filename.zip/tar.gz -b 3072m -d filename |
chmod | 更改文件或目录的权限 | -R,递归更改 | chmod [ugoa][+-=][rwx] <=> chmod [xxx](x={1,2,3,4,5,6,7},r=4,w=2,x=1) file r:cat/more/less/head/tail w:vim/gedit x:script/command directory r:ls w:touch/mkdir/rmdir/rm x:cd |
umask | 显示默认权限(权限补码) | -S,以rwx形式显示文件的默认权限 |
二、搜索命令
命令 | 功能 | 参数 | 注释 |
---|---|---|---|
find | 搜索文件所在位置 | -iname,不区分大小写 | find [目录] -name;多文件查找时,只要使用了*号,一定要加上' '或者" " |
locate | 搜索文件所在位置 | locate搜索的是一个数据库,每天自动更新一次,因此会找到已经被删除的数据,却找不到刚建立文件,为了避免这种情况,可以先用updatedb命令更新数据库,再locate | |
which | 搜索命令所在位置 | 搜索bin目录下的命令 | |
whereis | 搜索命令所在位置 | 通过数据库来搜索命令、man文件,搜索范围比which更大 | |
grep | 搜索内容 | -i,不区分大小写 -n,输出行号 -v,排除指定字符 | 可以使用正则表达式 |
awk | 文本处理 | 打印第一列 awk '{print $1}' 打印第一行 awk 'NR==1' |
三、系统命令
shutdown | 关机 | -c,取消前一个关机命令 -h,关机(halt=shutdown -h) -r,重启(reboot=shutdown -r) | shutdown [选项] 时间 |
init n | 指定系统运行级别 | 0,关机;1,单用户;2,不完全多用户(不含NTFS服务);3,完全多用户;4,未分配;5,图形界面;6,重启 | |
top | 查看cpu状态 | ||
nvidia-smi | 查看gpu状态 | -l n,每n秒查看gpu状态 | |
free | 查看内存状态 | -m,内存以MB形式显示;-h,以GB形式显示 | |
df | 查看分区使用情况 | -m,内存以MB形式显示;-h,以GB形式显示 | |
ps | 查看进程 | -e,显示所有进程 -f,全格式 | |
kill | 杀死进程 | -9,强制终止 | |
set | 设置环境变量 |
四、其他命令
man/info | 查看命令帮助文档 | ||
help | 查看内置命令帮助文档 | ||
ln | 生成链接 | -s,软链接 | |
echo | 显示 | -n,不换行 -e,输出转义字符 颜色输出:enco -e "\e[1; [颜色代码] [内容] \e[0m" | |
history | 查看历史命令 | -c,清除历史命令 | !!,重复执行上一条命令 !n,重复执行第n条命令 ![字符],重复执行最后一条以这些字符开头的命令 |
alias | 设置、查询命令别名 | alias 别名='原命令' 命令永久生效:写入.bashrc,gedit ~/.bashrc 命令执行顺序: 1.用相对路径或绝对路径执行的命令 2.用别名执行 3.执行bash内部命令 4.按照$PATH环境变量定义的目录查找顺序找到的第一个命令 |
五、常用符号
符号 | 名称 | 功能 | 注释 |
---|---|---|---|
# | 井号 | 注释 | |
$ | dollar符 | 变量替换 | ${}:变量正则表达式 $0:该bash名称 $1:传入该bash的第一个参数,以此类推,两位数以上必须使用 {} 符号,如${10} $?:上一个命令的返回值,成功为0,失败为1。一般来说,UNIX(linux) 系统的进程以执行系统调用exit() 来结束的,这个回传值就是status的值。将status回传给父进程,用来检查子进程的执行状态 $*:所有脚本参数的内容 $@:基本与上面相同,只不过$*返回的是一个字符串,$@返回多个字符串 $#:返回所有脚本参数的个数 $$:Shell的PID(ProcessID),即当前进程的PID $!:Shell最后运行的后台进程的PID $-:查看使用set命令设定的Flag |
; | 分号 | 连续命令 | |
| | 管道 | 将上一条命令的输出作为下一条命令的输入 | echo 'yourpassword' | sudo -S |
. | 逗号 | 当前目录 | |
.. | 双逗号 | 上一级目录 | |
~ | 波浪号 | home目录 | |
‘ ’ | 单引号 | 单引号中的内容视为字符串,即忽略所有特殊字符 | |
“ ” | 双引号 | 双引号中的内容视为字符串。不允许通配符(*)扩展,但允许变量扩展($、``) | |
` ` | 反引号 | 命令替换 | 类似于$(),区别是反引号中转义字符用\\,$()中转义字符用\ |
> | 大于号 | 重定向 | |
>> | 双大于号 | 追加 | |
* | 星号 | 通配符,匹配任意字符 | |
? | 问号 | 匹配一个任意字符,不包括NULL | |
^ | 匹配行首的字符 |