基础命令第一章
目录
1. ls
2. mkdir
3. pwd
4. cd
5. touch
6. vi/vim
7. cat
8. echo
9. cp
10. mv
11. rm
12. rmdir
13. grep
14. sed
15. head
16. tail
17. tree
ls - list directory contents 列出目录
格式:
ls [选项] [文件]
选项:
-l 长格式输出
-a 显示所有文件
-d 显示目录本身
示例:
1) [[email protected] etc]# ls -l total 1680 drwxr-xr-x. 3 root root 4096 Jun 29 22:57 abrt drwxr-xr-x. 4 root root 4096 Jun 29 22:58 acpi -rw-r--r--. 1 root root 46 Jul 1 23:55 adjtime ...................................................... 2) [[email protected] /]# ls -la total 106 dr-xr-xr-x. 24 root root 4096 Jul 2 12:53 . dr-xr-xr-x. 24 root root 4096 Jul 2 12:53 .. -rw-r--r--. 1 root root 0 Jul 2 12:43 .autofsck dr-xr-xr-x. 2 root root 4096 Jul 1 11:15 bin ....................................................... 3) [[email protected] ~]# ls -ld /etc drwxr-xr-x. 82 root root 4096 Jul 2 12:44 /etc
mkdir - make directories 创建目录
格式:
mkdir [选项] 目录
选项:
-p 级联递归
示例:
1) [[email protected] ~]# mkdir /data [[email protected] ~]# ls -ld /data drwxr-xr-x. 2 root root 4096 Jul 2 12:53 /data 2) [[email protected] ~]# mkdir /abc/efg/123 mkdir: cannot create directory `/abc/efg/123‘: No such file or directory [[email protected] ~]# mkdir -p /abc/efg/123 [[email protected] ~]# ls -ld /abc/efg/123/ drwxr-xr-x. 2 root root 4096 Jul 2 13:08 /abc/efg/123/
pwd - print name of current/working directory 打印当前的工作目录
格式:
pwd [选项]
选项:
-L 逻辑位置
-P 物理位置
示例:
[[email protected] init.d]# pwd /etc/init.d [[email protected] init.d]# pwd -L /etc/init.d [[email protected] init.d]# pwd -P /etc/rc.d/init.d
cd - Change the current directory to dir. 更改当前目录的目录
格式:
cd [选项] [目录]
选项:
. 当前目录
.. 上一级目录
~ 用户家目录
- 上一级目录
示例:
[[email protected] init.d]# cd [[email protected] ~]# cd /data/ [[email protected] data]# pwd /data [[email protected] data]# cd ~ [[email protected] ~]# pwd /root [[email protected] ~]# cd - /data [[email protected] data]# pwd /data [[email protected] data]# cd .. [[email protected] /]# pwd /
touch - change file timestamps 改变文件的时间戳。如果访问的文件不存在,则创建创建文件,文件如果存在,则只是更改文件的时间戳
格式:
touch [选项] 文件
示例:
[[email protected] data]# touch test.txt [[email protected] data]# ls -l total 0 -rw-r--r--. 1 root root 0 Jul 2 14:24 test.txt
vi/vim - Vi IMproved, a programmers text editor 文本编辑器
格式:
vim [选项] 文件
操作:
1)命令模式 在编辑模式按Esc,进入命令模式,
2)编辑模式 在命令模式按a或者i进入编辑模式
3)保存方式 在命令模式下输入“:wq”或者“:x”
示例:
[[email protected] data]# vim test.txt 123 ~ ~ ~ :wq [[email protected] data]# cat test.txt 123
cat - concatenate files and print on the standard output 合并文件和将文件打印到标准输出
格式:
cat [选项] 文件
选项:
-n 显示行号
-b 显示行号,但是不显示空行
-T 显示tab行,以“^I”的形式
示例:
[[email protected] data]# cat test.txt 123 [[email protected] data]# cat test2.txt 345 [[email protected] data]# cat test.txt test2.txt 123 345 [[email protected] data]# cat -bT test2.txt test.txt 1 345 2 123 3 ^I^I^I^I
特殊用法(与“>”“>>”配合使用):
“>” 标准输出重定向
“>>” 标准输出追加重定向
“<” 标准输入重定向
“<<” 标准输入追加重定向
示例:
1) [[email protected] ~]# cat >test.txt this is test 1 # 这里要按回车,再按Ctrl+C退出 ^C [[email protected] ~]# cat test.txt this is test 1 2) [[email protected] ~]# cat >>456.txt <<EOF > 123 > 456 > 789 > EOF [[email protected] ~]# cat 456.txt this is test 2. 123 456 789
echo - display a line of text 显示一行文本
格式:
echo [选项] 内容
选项:
-n 输出完毕不进行换行
-e 使用反斜线解释:可用\n,\t...等
示例:
[[email protected] data]# echo 123 123 [[email protected] ~]# echo -e "123\n456" 123 456 [[email protected] ~]# echo -n 123 123[[email protected] ~]#
特殊用法(与“>”“>>”配合使用):
示例:
1) [[email protected] ~]# echo "this is test." > /data/test.txt [[email protected] ~]# cat /data/test.txt this is test. 2) [[email protected] ~]# echo "this is test 2." >> /data/test.txt [[email protected] ~]# cat /data/test.txt this is test. this is test 2.
cp - copy files and directories 拷贝文件和目录
格式:
cp [选项] [拷贝源] [拷贝目标]
选项:
-a 相当于“-dR”,文件的所有属性
-p 连同文件的属性
-R,-r 拷贝目录选项
示例:
1) [[email protected] ~]# ls /data/ test2.txt test.txt [[email protected] ~]# cp 123.txt /data/ [[email protected] ~]# ls /data/ 123.txt test2.txt test.txt 2) [[email protected] ~]# mkdir -p /tmp/test [[email protected] ~]# cp /data/ /tmp/test/ cp: omitting directory `/data/‘ [[email protected] ~]# cp -r /data/ /tmp/test/ [[email protected] ~]# cd /tmp/test/ [[email protected] test]# ls -l total 4 drwxr-xr-x. 2 root root 4096 Jul 2 15:41 data
特殊用法:
拷贝文件不提醒的使用方法示例:
mv - move (rename) files 移动(重命名)文件
格式:
mv [选项] [源] [目标]
示例:
[[email protected] ~]# ls 123 456 anaconda-ks.cfg install.log install.log.syslog [[email protected] ~]# mv 123 789 [[email protected] ~]# ls 456 789 anaconda-ks.cfg install.log install.log.syslog [[email protected] ~]# mv 789 /tmp/ [[email protected] ~]# ls /tmp/ 789 yum.log [[email protected] ~]# ls 456 anaconda-ks.cfg install.log install.log.syslog [[email protected] ~]# mv 456 /tmp/789 mv: overwrite `/tmp/789‘? y
rm - remove files or directories 删除文件或目录
格式:
rm [选项] 文件
选项:
-f 强制
-r ,-R 递归删除目录和内容
示例:
[[email protected] tmp]# ls 789 yum.log [[email protected] tmp]# rm 789 rm: remove regular empty file `789‘? [[email protected] tmp]# rm -f 789 [[email protected] tmp]# [[email protected] tmp]# rm /data rm: cannot remove `/data‘: Is a directory [[email protected] tmp]# rm -r /data rm: descend into directory `/data‘?
rmdir - remove empty directories 删除空目录
格式:
rmdir [选项] 目录
示例:
[[email protected] data]# ls /data/123.txt /data/123.txt [[email protected] data]# rmdir /data/123.txt # 提示目录不是空的,需要将目录文件删除,才可以删除目录 rmdir: failed to remove `/data‘: Directory not empty [[email protected] data]# rm /data/123.txt rm: remove regular file `/data/123.txt‘? y [[email protected] data]# ls /data/ [[email protected] data]# rmdir /data [[email protected] data]# ls /data ls: cannot access /data: No such file or directory
grep - print lines matching a pattern 打印匹配的行
格式:
grep [选项] 文件
选项:
-v 排除,取非
-E 相当于egrep
-n 显示行号
示例:
1) [[email protected] ~]# cat test.txt 123 456 abc [[email protected] ~]# grep -v abc test.txt 123 456 2) [[email protected] ~]# grep -n root test.txt 1:root:x:0:0:root:/root:/bin/bash 11:operator:x:11:0:operator:/root:/sbin/nologin
sed - stream editor for filtering and transforming text 用于筛选和编辑的流编辑器
格式:
sed [选项] 文件
选项:
-n 取消默认输出
//p 打印
//d 删除
^ 开头标识符
$ 结尾标识符
示例:
1) [[email protected] ~]# sed -n /root/p test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin 2) [[email protected] ~]# sed -n /^root/p test.txt root:x:0:0:root:/root:/bin/bash 3)
head - output the first part of files 输出文件的第一部分,默认输出文件的前10行
格式:
-n n为数字,显示到第n行
示例:
1) [[email protected] ~]# head 1.txt 1 2 3 4 5 6 7 8 9 10 2) [[email protected] ~]# head -14 1.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [[email protected] ~]# head -4 1.txt 1 2 3 4
tail - output the last part of files 输出文件的最后部分,默认输出文件的后10行,与head正好相反
格式:
tail [选项] 文件
选项:
-n n为数字,显示到倒数第n行
示例:
1) [[email protected] ~]# tail 1.txt 91 92 93 94 95 96 97 98 99 100 2) [[email protected] ~]# tail -5 1.txt 96 97 98 99 100