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