linux命令格式:
command [-options] [parameter1] [parameter2] ...
命令 选项 参数1 参数2
注意:
1.若有多个选项,选项没有先后顺序,且选项可以合并。
2.选项和参数可以互换位置。例如:
ls / 命令+参数
ls -a 命令+选项
一.常用文件操作
ls: 列出目录
ls -a 显示当前目录下的所有文件及文件夹包括隐藏的.和..
ls -al 显示当前目录下的所有文件及文件夹包括隐藏的.和..并显示详细信息,详细信息包括大小、属组、创建时间。
ls -al = ls -ll
man:查看手册
man = manual 手册
ls --help 法一:查看帮助文档
man ls 法二:查看帮助文档
cd:切换目录
cd - 快速回到上一次路径
cd ~ 回到家目录
cd ~ 等价于 cd
tree 以目录树的方式显示该目录下的所有内容
pwd:显示目前的目录
history:查看执行过的命令
which查看我用的命令是哪个路径下的文件。
mkdir:创建一个新的目录
rmdir:删除一个空的目录
mkdir A/B/C/D -p 在B文件夹下创建C文件夹,再在C文件夹下创建D文件夹(前提是C文件夹不存在)
mkdir aa 创建一个文件夹为aa
rmdir A 删除A文件夹(A文件夹中没有内容)
touch:创建一个文件
touch .b.txt 创建一个隐藏文件b.txt
touch a.txt 创建一个文件为a.txt
clear 清屏
rm: 移除文件或目录
rm a.txt 删除a.txt文件
rm -r B 删除B文件夹(B文件夹中有内容)
rm -rf C 删除C文件夹(C文件夹中有内容,并且不会提醒是否删除)
cp: 复制文件或目录
mv: 移动文件与目录,或修改文件与目录的名称
mv a.txt b.c 把文件a.txt改名为b.c
ln -s 软链接
ln 硬链接
ln -s a.txt a-softlink.txt 创建文件a.txt的快捷方式为a-softlink.txt(软链接)
ln b.txt b-hardlink.txt 创建文件b.txt的快捷方式为b-hardlink.txt(硬链接)
二.文件内容查看
cat 由第一行开始显示文件内容
cat a.txt 查看文件a.txt中的内容(打印出来)
gedit a.txt 编辑文件a.txt
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
head 只看头几行
head -n 20 /etc/man.config 显示前20行
tail 只看尾巴几行
tail -n num 显示num条数据
tail -f 可动态监控数据的变化
cat与tail的区别
cat 命令 和tail命令都是显示数据的命令
cat 显示的是文件夹的全部的数据
cat 静态查看文件夹数据
tail 显示尾部的文件夹数据
tail -n num 显示num条数据
tail -f 可动态监控数据的变化
awk擅长列输出
awk
'/root/'
/etc/passwd
搜索/etc/passwd有root关键字的所有行
sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出
wc:统计文件的行数,单词数,字节数
三.查找命令
grep:是在文件里面按照内容进行查找
grep -n "haha" a.txt 在文件a.txt中搜索含有"haha"的内容,并显示所在的行号。
grep -n "^haha" a.txt 在文件a.txt中搜索含有"haha"的内容,并显示所在的行号,必须以"haha"开头的。
grep -n "haha$" a.txt 在文件a.txt中搜索含有"haha"的内容,并显示所在的行号,必须以"haha"结尾的。
grep -v "haha" a.txt 在文件a.txt中搜索不含有"haha"的内容
grep -r "rand"* 在一个文件夹中递归查询包含指定字符串的文件
grep '2018-Nov-06 11:3[4-7]' shop-bussiness.log.2018-11-06 截取某个时间点的日志
find:是在特定的文件夹下搜索符合条件的文件
find / -name "*name*" 在根目录下以文件名进行搜索,条件是文件名只要里面含有name就行。
sudo find / -name "*name*" 加上权限。
sudo find ./ -name test.sh 查找当前目录下文件名为test.sh的文件。
sudo find ./ -size 2M 查找当前目录下等于2M的文件。
sudo find ./ -size +2M 查找当前目录下大于2M的文件。
sudo find ./ -size -2M 查找当前目录下小于2M的文件。
sudo find ./ -size 2M size 5M 查找当前目录下大于2M,小于5M的文件。
sudo find ./ -perm 777 查找当前目录下权限为777的文件或者文件夹。
sed:是一种流编编器
p==print
d:delete
=:打印匹配行的行号
-n 取消默认的完整输出,只要需要的
-e 允许多项编辑
-i 修改文件内容
-r 不需要转义
sed
-n
'3p'
/var/log/yum.log 只打印yum
.log的第3行
sed
-n
'3,9p'
/var/log/yum.log 打印yum
.log的第3-9行
sed
-n
'/root/p'
yum.log
显示包含"root"的行
sed
-n
'/hhh/,/omc/p'
yum.log
显示包含"hhh"的行到包含"omc"的行之间的行
sed -n '/2015-05-04 09:25:55/,/2015-05-04 09:28:55/'p /home/wwwlogs/access.log 截取某一端时间的日志
tar:打包和解包
tar -cvf test.tar 把test文件打包成tar包
tar -xvf test.tar 把文件test.tar进行解包
tar -zcvf test.tar.gz 把文件test.tar.gz进行打包
tar -zxvf test.tar.gz 把文件test.tar.gz进行解压(解压缩在当前目录中)
tar -zxvf test.tar.gz -C dongge/ 把文件test.tar.gz进行解压到指定目录dongge中
zip test.zip 压缩test文件打包成zip文件
unzip test.zip 把文件test.zip进行解压
四.编辑文件,vi与vim
1.三种模式
- 一般指令模式 (command mode), vi /vim 打开一个文件就直接进入一般指令模式了
- 编辑模式 (insert mode),按下“i, I, o, O, a, A, r, R”等任何一个字母之后才会进入编辑模式。按下“Esc”这个按键即可退出编辑模式。
- 命令行命令模式 (command-line mode),在一般模式当中,输入“ : / ? ”三个中的任何一个按钮,就可以将光标移动到最下面那一列
常用方式:
一般模式
编辑模式(记住i)
命令行模式
:wq! 强制储存并离开