经常用到一些linux命令是会突然忘记他们的用法,为了以后熟练的使用它们,这里总结一下自己经常用的命令以及这写命令的常用参数。
ls
很常用的命令,显示目标目录下的文件,日常用到主要有以下几种:
- 1.显示
/home
文件夹下所有文件(包含隐藏文件);
$ ls -A /home
$ ls -a /home
# -A与-a的区别是前者是不显示当前目录`(.)`与父级目录`(..)`。
- 2.显示
/home
文件夹下的所有文件和目录的详细资料;
$ ls -lR /home
- 3.只显示
/home
子目录
$ ls -F /home | grep /
- 4.列出"a"开头的所有目录的详细内容
$ ls -l a*
# 这里*就是代表任意字母 (a结尾-*a, a中间-*a*)
- 5.计算当前目录下的文件数和目录数
$ ls -l * | grep "^_" | wc -l
$ ls -l * | grep "^d" | wc -l
cd
这个太常见了,用来切换到指定目录,那么你知道还可以返回到你上次的目录么?那就是cd -
命令。
pwd
平常都用这个命令看自己现在在哪个目录,其实它的-P,-L
参数可以显示出实际路径与连接路径。
mkdir
在指定位置创建目录。-v
可以显示创建信息哦。
1.创建目录;
2.递归创建多个目录;
$ mkdir -p test/test1/test2
$ tree test
test
└── test1
└── test2
- 3.创建一个目录结构;
$ mkdir -p s/{s2/{s3,s4},s5,s6/{s7,s8/s9}}
$ tree s
s
├── s2
│ ├── s3
│ └── s4
├── s5
└── s6
├── s7
└── s8
└── s9
- 4.创建时设置权限。
$ mkdir -m 666 test2
rm
删除文件目录就靠它了。
1.删除指定文件;
2.强制删除,不提示;
$ rm -f a.txt
- 3.删除目录及目录下文件
$ rm -r a/
当然以上两个一起rm -rf
就有很有故事了
mv
- 1.文件改名;
$ mv a.txt b.txt
- 2.文件(目录)移动;
$ mv a.txt dir_a/
$ mv dir_a dir_b # dir_b不存在时,将dir_a改名为dir_b
- 3.同时移动多个文件;
$ mv a.txt b.txt c.txt dir_a/
- 4.强制移动(改名),如果有同名覆盖;
$ mv -f a.txt b.txt
cp
复制文件目录。
- 1.复制文件到目录;
$ cp a.txt dir_a
- 2.复制目录;
$ cp -r dir_a dir_b
注意:如果dir_b存在,则将dir_a整个目录复制到dir_b下面,否则只是将dir_a下的文件全部复制到dir_b下面。
- 3.建立快捷方式,也就是连接。
$ cp -s a.txt a_l.txt
touch
创建文件。
cat
平常要查看一个文件的内容常用这个命令,当然他还有其他几个实用的用途。
- 1.将几个文件合并到一个文件;
$ cat a.txt b.txt > c.txt
- 2.将文件加上行号输入到另外一个文件;
$ cat -n a.txt > d.txt
$ cat -n a.txt b.txt > e.txt
$ cat a.txt
shdasdahdasdadhZZ
$ cat b.txt
sss
s
s
s
s
s
s
s
dada
$ cat e.txt
1 shdasdahdasdadhZZ
1 ss
2 sss
3 s
4 s
5 s
6 s
7 s
8 s
9 s
10
11 dada
- 3.如果上面合并时空白行不编号,你可以这样。
$ cat -b a.txt b.txt > f.txt
$ cat f.txt
1 shdasdahdasdadhZZ
1 ss
2 sss
3 s
4 s
5 s
6 s
7 s
8 s
9 s
10 dada
nl
通常用来计算文件中的行号。
虽然cat -n
也可以输出行号,但其默认的结果与cat -n
有点不太一样, nl
可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
- 1.让行号前面自动补上0,统一输出格式。
$ nl -b a -n rz b.txt
000001 ss
000002 sss
000003 s
000004 s
000005 s
000006 s
000007 s
000008 s
000009 s
000010
000011 dada
more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
- 1.设定每屏显示的行数;
$ more -10 c.txt
- 2.从第n行开始显示内容;
$ more +3 c.txt
- 3.查找文件中第一个出现"txt"的文本,从该行显示后面的内容;
$ more +/txt c.txt
more命令的内容很多,很多vi内的命令在这都可以用上,与more类似功能的还要less命令。
tail
tail 命令从指定点开始将文件写到标准输出,平常我们多用他来追踪日志。
- 1.显示文件最近的n行内容;
$ tail -n 5 d.log
- 2.循环查看文件内容;
$ tail -f d.log
- 从第n行显示文件内容。
$ tail -n +5 d.log
head
从字面意思就很好理解,显示文件开头的内容。
- 1.显示文件的开头5行;
$ head -n 5 d.log
- 2.显示文件的开头5个字节;
$ head -c 5 d.log