参考资料
输入
tab
命令/文件名补全
ctrl+c
中断程序
ctrl+d
EOF,文件/输入尾
ctrl+z
暂停
ctrl+u
删除光标前方内容
ctrl+k
删除光标后方内容
ctrl+a
光标移动到头部
ctrl+e
光标移动到尾部
指令
指令的指令
man
操作说明,man [command]
man ls 显示ls的操作说明
info
树结构的命令说明,info [command]
info ls 显示ls的操作说明
type
查询是bash内建指令还是外部指令。type [-tpa] name
type ls 查询ls的指令信息
which
显示指令路径。which [-a] command
which history 显示history指令的路径
whereis
用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
whereis ifconfig 查找ifconfig文件路径
history
查询历史指令输入
alias
查询和制定指令别名
alias ll='ls -l'
用户指令
su
切换用户,su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
su - root 更改为root用户并修改工作目录
文件管理
cd
切换目录,cd [dirName]。.当前目录,..上一层目录,~当前用户主目录,-前一个工作目录
cd ~ 跳转到当前用户的主目录
ls
列出文件,ls [-alrtAFR] [name...]
ls -al 列出当前目录下的所有文件及其详细信息
pwd
显示当前目录
mkdir
新建一个空的目录,mkdir [-p] dirName
mkdir -p BBB/Test,建立BBB下的Test,如果没有BBB那么创建BBB
rmdir
删除一个空的目录,rmdir [-p] dirName
rmdir -p BBB/Test 删除BBB下的Test,如果删完以后BBB为空目录那么删除BBB
touch
用于修改文件或者目录的时间属性,如果文件不存在,那么就会创建一个新文件。touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
touch testfile 修改testfile的a、m时间为当前或者是创建一个新的名为testfile的文件
locate/updatedb
从数据库中查找文件路径。locate [-d ][--help][--version][范本样式...]
locate passwd 从数据库中查找passwd的路径
updatedb 更新文件记录数据库
find
从硬盘上查找文件。find path -option [ -print ] [ -exec -ok command ] {} ;
find . -name "*.c" 从当前路径下查找以.c为后缀名的文件
cp
复制文件,cp [options] source... directory
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
cp –r test/ newtest 将test文件夹下的所有文件复制到newtest文件夹下
mv
移动文件,mv [options] source... directory
源与目标类型一致时会改名,否则仅为移动。
mv info/ logs 将info目录放入logs目录中
rm
删除文件,rm [options] name...,r为递归删除,f为删除时不提醒
rm -rf / 删除根目录下所有文件(然后跑路
chgrp
改变用户群组,chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
chgrp -v bin log2012.log 将log2012.log的群组改为bin
chown
改变文件属主,chown [-cfhvR] [--help] [--version] user[:group] file
chown runoob:runoobgroup file1.txt 将file1.txt的属主改为runoobgroup群组的runoob
chomd
改变文件属性,chmod [-cfvR] [--help] [--version] mode file
chmod 777 file.txt 将file.txt的文件属性改为(4+2+1)(4+2+1)(4+2+1)->r:4 w:2 x:1
umask
设置建立文件时的默认权限掩码。umask [-S][权限掩码]
umask 002 新建文件时权限为777-002=775,other不可写。
chattr
修改文件隐藏属性权限。chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
chattr +i /etc/resolv.conf 使文件不可修改
lsattr
显示文件的隐藏属性。
lsattr /etc/resolv.conf 显示文件的隐藏属性。
file
辨识文件类型。file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
file /usr/bin/passwd 辨识文件的类型
文本文件读写
cat
输出文件内容,cat [-AbeEnstTuv] [--help] [--version] fileName
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
cat file 将file文件输出(可以重定向输出到各种文件中,Linux万物皆文件)
tac
反向的cat
nl
添加行号打印,nl [-bnw] file
-b 空行的处理
-n 行号位置
-w 行号占位符宽度
nl -b a file 输出file,空行也标行号
more
一页一页地显示文件,more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
空格下一页,b上一页,/关键词会根据关键词向后进行搜索,q离开文件,h显示帮助。
more +20 file 从第20行开始将file显示出来
less
一页一页地显示文件,与more相似但更加功能强大,可以向前向后搜索。可以部分加载文件。
less file 查看file文件
head
显示文件前面部分,默认10行。head [-n num] FileNames
head -n 1 file 显示file的前1行
tail
显示文件的最后部分,默认10行。tail [-n num] FileNames
tail -n 3 file 显示文件后3行
od
将文件内容输出,多用于二进制文件等。od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>][-t <输出格式>][-w <每列字符数>][--help][--version][文件...]
od -t c /usr/bin/passwd 用ASCII字符输出/usr/bin/passwd的内容
压缩指令
.zip
压缩:zip file.zip file
解压缩:unzip file.zip
.gz
压缩:gzip -c test > test.gz
解压缩:gzip -d test.gz
.bz2
压缩:bzip2 -k test
解压缩:bzip2 -d test.bz2
.tar
打包指令
压缩:tar -jcv -f filename.tar.bz2 要被要被压缩的路径
查询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 要被解压缩的目录
-z为gzip压缩,-j为bzip2压缩,-J为xz压缩
(g,bz,xz)cat,(g,bz,xz)more,(g,bz,xz)less,(g,bz,xz)grep
与不加前缀的指令相同,用于处理压缩包内的内容
时间指令
date
显示时间,date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
date '+%H:%M:%S 以H:M:S的格式输出时间
cal
日历,cal [month] [year]
cal 10 2019 显示2019年10月的日历
计算器
bc
计算器 scale=n,设置精度
系统指令
sync
内存数据硬盘同步
shutdown,poweroff,halt
关机,shutdown [-t seconds] [-rkhncfF] time [message]
shutdown now 马上关机
reboot
重启