常用操作
文件与目录操作
clear #清屏命令
man(命令参数) #查看命令参数
help #获得shell内置命令的帮助信息
pwd #查看当前所在目录
cd #打开目录
ls -a #查看目录下文件
ll #以列的方式显示目录下的文件列表
mkdir #创建文件目录
rm -rf #删除文件或目录
rm -ri #删除文件前询问用户
cp #复制文件命令
mv #移动文件或修改文件名
cat #查看文件内容
cd /home #进入home目录
cd .. #返回上一级目录
cd - #返回上次所在目录
cp file1 file2 #将file1复制为file2
cp -a dir1 dir2 #复制一个目录
cp -a/tmp/dir1 #复制一个目录到当前工作目录(.代表当前目录)
ls #查看目录中的文件
ls -a #显示隐藏文件
ls -l #显示详细信息
ls -lrt #按时间显示文件(i表示详细列表, r表示反向排序,t表示按时间排序)
pwd #显示工作路径
mkdir dir1 #创建“dir1”目录
mkdir -p /tmp/dir1/dir2 #创建一个目录树
mv dir1 dir2 #移动/重命名一个目录
rm -f file1 #删除“file1”
rm -rf dir1 #删除“dir1”目录及其子目录内容 慎用!!
查看文件内容
cat file1 #从第一个字节开始正向查看文件的内容
head -2 file1 #查看一个文件的前两行
more file 1 #查看一个长文件的内容
tac file1 #从最后一行开始反向查看一个文件的内容
tail -3 file 1 #查看一个文件的最后三行
vi file #打开并浏览文件
vi编辑器指令
# 命令模式
i #输入模式
x #删除光标处字符
: #切换底线命令模式
a #插入模式
o #在光标处下方插入一个新行
O #再光标处上方插入新行
dd #删除当前行
yy #复制当前行
nyy #复制从光标开始的n行
p #将复制内容粘贴到光标上方
P #将复制内容复制到光标上方
u #撤销上一次操作
Ctrl+r #重做上一次撤销操作
Ctrl+u #向文件首翻半屏
Ctrl+d #向文件尾翻一屏
Ctrl+b #向文件首翻一屏
#底线命令模式
/word
?word
n
N
:w #保存文件
:q #退出编辑器 不保存
:q! #编辑器退出
:wq! #强制编辑器退出
文本内容处理
grep str /tmp/test #在文件'/tmp/test'中查找“str"
grep ^str /tmp/test #在文件 ‘/tmp/test’中查找以“str”开始的行
grep [0-9] /tmp/test #查找‘/tmp/test’文件中所有包含数字的行
grep str -r /tmp/* #在目录‘/tmp’及其子目录中查找“str”
diff file1 file2 #找出两个文件的不同处
sdiff file1 file2 #以对比的方式显示两个文件的不同
vi:
i #进入编辑文本模式
Esc #退出编辑文本模式
:w #保存当前修改
:q #不保存退出vi
:wq #保存当前修改并退出vi
查询操作
find /-name file1 #从“/“开始进入根文件系统查找文件和目录
find / user user1 #查找属于用户‘user1’的文件和目录
find /home/user1 -name*bin #在目录'/home/user1'中查找以'bin'结尾的文件
find /usr/bin -type f -atime +100 #查找过去100天内未被使用过的执行文件
find /usr/bin-type f -mtime -10 #查找再过去内被创建或者被修改过的文件
locate *ps #寻找以'ps'结尾的文件新运行'updatedb'命令
压缩、解压
bzip2 file 1 #压缩file1
bunzip2 file1.bz2 #解压file1.bz2
gzip file1 #压缩file1
gzip -9 file1 #最大程度压缩file1
gunzip file1.gz #解压file1.gz
tar -cvf archive.tar file #把file1打包成archive.tar(-c:建立压缩档案;-v显示所有过程;-f使用档案名字,是必须的,是最后一个参数
tar -cvf archive.tar file1 dir1 #把file1,dir1打包成archive.tar
tar -tf archive.tar #显示一个包中的内容
tar -xvf archive.tar -C/tmp #把压缩包释放到/tmp目录下
zip file1.zip file1 #创建一个zip格式的压缩包
zip -r file1.zip file1 dir1 #把文件和目录压缩成一个zip格式的压缩包
unzip file1.zip #解压一个zip格式的压缩包到当前目录
unzip test.zip -d/tmp/ #解压一个zip格式的压缩包/tmp目录
打印指令
#echo
echo '$PATH' #$PATH
echo "$PATH" #路径
echo "abc '$PATH' 123" #abc 路径 123
echo "abc "$PATH" 123" #abc 路径 123
echo 'abc "$PATH" 123' #'abc "$PATH" 123'
echo 'abc '$PATH' 123' #abc 路径 123
#printf 常用于格式化输出
printf "hello woeld\n"
printf "%d %s" 1 "abc"
#printenv 打印环境变量
printenv
时间指令
date+%Y-%m-%d #年月日
date+%H:%M:%S #时分秒
date+%I:%M:%S #12小时时间显示
date-d'1 days ago' #显示前一天时间
date -s "00:12:23 2019-03-04" #设置系统时间
ntpdate -u ntp.api.bz #设置时间同步
### 文本处理命令
```shell
wc -w #统计单词个数
wc -l #统计行数
wc -L #统计最长行的长度
tr 're' 'er' #把e跟r互相替换
分割文件命令
cut -d ' ' -f 3 #取出空格分开的第三个字符
awk '{print $9}'
管道命令
A | B #将A指令执行结束后的结果给B指令 然后继续执行指令B
sed命令
#sed [options]'动作'文件名
##常用选项
#-e 进行多项多次编辑
#-n 取消默认输出
#-r 使用扩展正则表达式
#-i 原地编辑
#-f 指定sed脚本的文件名
##常见处理动作
#p 打印
#i 在指定行之前插入内容
#a 在指定行之后插入内容
#c 替换指定行所有内容
#d 删除指定行
#a&i
sed '$a99999' a.txt #文件最后一行下面增加内容
sed 'a99999' a.txt #文件每行下面增加内容
sed '5a99999' a.txt #文件第5行下面增加内容
sed '$i99999' a.txt #文件最后一行上一行增加内容
sed 'i99999' a.txt #文件每行上一行增加内容
sed '6i99999' a.txt #文件第6行上一行增加内容
sed '/^adm/ihello' #以adm开头行的上一行插入内容
#c
sed '5chello world' a.txt #替换文件第5行内容
sed 'chello world' a.txt #替换文件所有内容
sed '1,5chello world' a.txt #替换文件1到5号内容为hello world
sed '/^daemon/c888888' a.txt #替换以user01开头的行
#d
sed '1d' a.txt #删除文件第1行
sed '1,5d' a.txt #删除文件1到5行
sed '$d' a.txt #删除文件最后一行
#sed对文件进行搜索替换操作
sed 's/要被取代的字串/新的字串/g' 文件名
yum安装器
yum -y install [package] #下载并安装一个rpm包
yum localinstall [package.rpm] #安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
yum -y update #更新当前系统中安装的所有的rpm包
yum umdate [package] #更新一个rpm包
yum remove [package] #删除一个rpm包
yum list #列出当前系统中安装的所有包
yum search [package] #再rpm仓库中搜寻软件包
yum clean [package] #清楚缓存目录(/var/cache/yum)下的软件包
yum clean headers #删除所有头文件
yum clean all #删除所有缓存的包和头文件
常用系统管理命令
top #查看系统健康状态
ps aux #显示进程
kill [线程号] #关闭线程
netstat #查看端口占用情况
free #查看内存
df #查看磁盘空间