系统版本:
[root@node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@node1 ~]# uname -r
3.10.0-229.el7.x86_64
目录操作命令
ls
列出指定目录下的内容。
语法:
ls [OPTION]… [FILE]…
选项:
- -a: 显示所有文件,包括隐藏文件
- -A: 显示除.和..之外的所有文件
- -l: --long,长格式列表,即显示文件的详细属性信息
- -h, --human-readable: 对文件大小单位换算,换算后结果可能会是非精确值
- -d: 查看目录自身而非其内部的文件列表
- -r: reverse,逆序显示
- -R: recursive,递归显示
示例:
[root@node1 ~]# ls -l /var/log
….
-rw-r--r--. 1 root root 6340 May 23 14:51 boot.log
….
以上各字段含义:
- -rw-r--r--
- rw-: 文件属主的权限
- r--: 文件属组的权限
- r--: 其它用户(非属主、属组)的权限
- 1: 数字表示文件被硬链接的次数
- 第一个root: 文件的属主
- 第二个root: 文件的属组
- 6340: 数字表示文件的大小,单位是字节
- May 23 14:51: 文件最近一次被修改的时间
- boot.log: 文件名
cd
切换目录。
语法:
cd [/PATH/TO/SOMEDIR]
选项:
- cd: 切换回家目录
- cd ~: 切换回自己的目录
- cd ~USERNAME: 切换至指定用户的家目录
- cd ..: 进入上一层目录
- cd -: 在上一次所在目录与当前目录之间来回切换
pwd
显示当前目录。
语法:
pwd [OPTION]…
选项:
- -P: 显示出真实的路径,而非使用链接 (link) 路径
示例:
[root@node1 ~]# cd /var/mail
[root@node1 mail]# pwd -P
/var/spool/mail
mkdir
创建目录。
语法:
[OPTION]… DIRECTORY…
选项:
- -p: 自动按需创建父目录
- -v: verbose,显示详细过程
- -m MODE: 直接给定权限
示例:
[root@node1 ~]# mkdir -pv /tmp/m/n/p
mkdir: created directory ‘/tmp/m’
mkdir: created directory ‘/tmp/m/n’
mkdir: created directory ‘/tmp/m/n/p’
rmdir
删除空目录。
语法:
rmdir [OPTION]… DIRECTORY…
选项:
- -p: 删除某目录后,如果其父目录为空,则一并删除
- -v: 显示过程
目录与文件的复制、删除、移动命令
cp
拷贝文件和目录。
单源复制:
cp [OPTION]… [-T] SOURCE DEST
- 如果DEST不存在:则先创建此文件,并复制源文件的数据流至DEST中
- 如果DEST存在:
- 如果DEST是非目录文件:覆盖目标文件
- 如果DEST是目录文件:先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
多源复制:
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
- 如果DEST不存在:错误
- 如果DEST存在:
- 如果DEST是非目录文件:错误
- 如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名
选项:
- -i: 交互式复制,即覆盖之前提醒用户确认
- -f: 强制覆盖目标文件
- -r, -R: 递归复制目录
- -d: 复制符号链接文件本身,而非其指向的源文件
- -a: -dR --preserve=all, archive, 用于实现归档(备份)
- --preserve=
- mode: 权限
- ownership: 属主和属组
- timestamps: 时间戳
- context: 安全标签
- xattr: 扩展属性
- links: 符号链接
- all: 上述所有属性
示例:
[root@node1 ~]# cp -r /var/log/ /tmp/
[root@node1 ~]# ll /tmp/log/
total 3508
drwxr-xr-x. 2 root root 4096 Jun 2 16:28 anaconda
drwxr-x---. 2 root root 22 Jun 2 16:28 audit
-rw-r--r--. 1 root root 6397 Jun 2 16:28 boot.log
-rw-------. 1 root root 0 Jun 2 16:28 btmp
-rw-------. 1 root root 384 Jun 2 16:28 btmp-20180601
….
mv
移动(重命名)文件。
语法:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
选项:
- -i: 交互式
- -f: 强制
rm
删除文件或目录。
语法:
rm [OPTION]… FILE…
选项:
- -i: 交互式
- -f: 强制
- -r: 递归
删除目录: rm -rf /PATH/TO/DIR
建议不要使用rm直接删除数据,而是先使用mv将数据统一移动到一个目录下,再定期清理。
文件的新建与查看命令
touch
更改文件时间戳或创建空文件。
语法:
touch [OPTION]… FILE…
选项:
- -c: 指定的文件路径不存在时不予创建
- -a: 仅修改access time
- -m: 仅修改modify time
- -t [[CC]YY]MMDDhhmm[.ss]: 指定时间戳
示例:
[root@node1 ~]# touch /tmp/functions
#创建functions空文件
[root@node1 ~]# ll /tmp/functions
-rw-r--r-- 1 root root 0 Jun 2 18:04 /tmp/functions
[root@node1 ~]# touch -m -t 0212010303.03 /tmp/functions
#修改modify time为2002年12月1日3点3分3秒
[root@node1 ~]# stat /tmp/functions
#使用stat命令显示文件时间戳信息
File: ‘/tmp/functions’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 101524444 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-06-02 18:04:01.035507593 +0800
Modify: 2002-12-01 03:03:03.000000000 +0800
Change: 2018-06-02 18:05:18.605411488 +0800
Birth: -
cat
查看文本文件的内容。
语法:
cat [OPTION]… [FILE]…
选项:
- -n: 给显示的文本行编号
- -E: 显示行结束符$
示例:
[root@node1 ~]# cat -n /etc/fstab
1
2 #
3 # /etc/fstab
4 # Created by anaconda on Tue May 22 11:36:12 2018
5 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
9 /dev/mapper/centos-root / xfs defaults 0 0
10 UUID=05a06e03-2c09-49d2-9e38-915bd43eba31 /boot xfs defaults 0 0
11 /dev/mapper/centos-swap swap swap defaults 0 0
more
一页一页翻屏查看文件。
快捷键:
- space: 向下翻一行
- Enter: 代表向下翻一行
- /keyword: 代表在这个显示的内容当中,向下搜寻字串这个关键字
- :f: 立刻显示出档名以及目前显示的行数
- q: 代表立刻离开 more ,不再显示该文件内容
- b或Ctrl+b: 代表往回翻页,不过这动作只对文件有用
less
一页一页翻屏查看文件。less与more区别:使用more命令,不能向前翻,只能往后翻,但less可以使用 [pageup] [pagedown] 等按键翻看文件。
快捷键:
- 空格键:向文件尾翻一屏
- b:向文件首部翻一屏
- ctrl+d:向文件尾部翻半屏
- ctrl+u:向文件首部翻半屏
- 回车键:向文件尾部翻一行
- k:向文件首部翻一行
- G:跳转至最后一行
- g:跳转至第一行
- #G:跳转至指定行
- 1G:跳转至文件首部
- q: 退出
文本搜索:
- /keyword: 从文件首部向文件尾部依次查找
- ?keyword: 从文件尾部向文件首部依次查找
- n: 与查找命令方向相同
- N: 与查找命令方向相反
head
显示文件开头的内容。
语法:
head [OPTION]… [FILE]…
选项:
- -n #或-#: 显示指定行数的内容
示例:
[root@node1 ~]# head -n 5 /etc/rc.d/init.d/functions
# -*-Shell-script-*-
#
# functions This file contains functions to be used by most or all
# shell scripts in the /etc/init.d directory.
#
tail
显示文件结尾的内容。
语法:
tail [OPTION]… [FILE]…
选项:
- -n #或-#: 显示指定行数的内容
- -f: 查看文件尾部内容结束后不退出,跟随显示新增的行
查看文件类型的命令
file
查看文件内容类型。
示例:
[root@node1 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xec333a104e045327c5e3d0ca6dda16c610a210f3, stripped