1、ls命令
语法:
ls [选项] [文件]
选项:
"-a" :显示所有文件和目录(.开头的隐藏文件也会列出)
"-l" :显示当前目录下文件的详细信息。
"-d" :显示目录本身,一般结合-l使用
"-i" :显示文件时,同时显示文件的索引节点
"-r" :倒序显示文件
"-h" :以人们可读的方式显示文件大小,比如1k,200M,2G等)
常用操作:
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下所有的目录和文件(包含隐藏文件)
ls -l // 列表查看当前目录下所有目录和文件,与“ll”效果一样
ls / // 查看指定目录下的所有目录和文件
2、cp命令
语法:
cp [选项] 源文件
目标文件选项:
"-r" :递归复制,用于复制目录
"-i" :询问,如果目标文件已经存在,则会询问是否覆盖。默认设置
"-d" :如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
"-p":复制后目标文件保留源文件的属性(包括所有者,所属组,权限和时间)
"-a" :相当于-d、-p、-r选项的集合。
常用操作:
cp /tmp/tool /opt //将/tmp/tool目录复制到/opt目录下
cp /tmp/tool/* /opt //将/tmp/tool目录下的文件复制到/opt目录下
cp -r /tmp/tool/ /opt //将/tmp/tool目录下的文件及目录复制到/opt目录下
3、pwd命令
显示当前目录
4、mkdir命令
语法:
mkdir [选项] 目录..
选项:
"-p" :创建多级目录
常用操作:
mkdir dir // 创建目录dir
mkdir -p dir/dir1/dir2 //创建多级目录
5、mv命令
语法:
mv 源文件/目录 目标文件/目录
常用操作:
mv file1 file2 //移动file1到file2中,如果不存在file2,相当于重命名file1,同样适用于目录。
mv /opt/* /tmp //将/opt目录下所有文件移动到/tmp目录下
6、rm命令
语法:
rm [选项] 文件/目录
选项:
"-i" :删除之前需要确定
"-r" :递归删除,用于删除目录
"-f" :强制删除,不需要确认
常用操作:
rm file1 //删除当前目录下的文件
rm -f file1 //强制删除文件
rm -rf dir //强制删除dir目录及dir目录里的所有目录和文件
rm -rf * //删除当前目录的所有目录和文件,慎用
rm -rf /* //慎用,跑路命令。
7、ln命令
语法:
ln [选项] 源文件 链接文件
选项:
"-s" :创建符号链接
"-f" :强制执行,覆盖现有文件
常用操作:
ln test.txt hard_link //创建一个硬链接,删除了源文件,链接文件仍然可用
ln -s test.txt soft_link // 创建一个软链接,删除了源文件,链接文件不可用,相当于window的快捷方式。
8、chmod命令
语法:
chmod [选项] 权限 文件/目录
选项:
"-R" :递归处理指定目录以及其子目录下的所有文件
常用操作:
chmod +777 /tmp # 给特定目录添加777权限
chmod +x /tmp # 给/tmp目录添加执行权限
9、chown命令
语法:
chown [选项] 属主权限.组权限 文件/目录
选项:
"-R" :递归更改目录的用户和用户组
常用操作:
chown -R rudy.rudy /tmp # 将/tmp的属主和属组修改为rudy权限。
10、chattr命令
语法:
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
选项:
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。
属性:
a:让文件或目录仅供附加用途。
c:将文件或目录压缩后存放。
i:不得任意更动文件或目录。
u:预防意外删除。
常用操作:
[root@localhost ~]# chattr +a /etc/passwd //只能向文件中添加数据,而不能删除,多用于服务器日志文件安全 。 -a 可去掉该属性[root@localhost ~]# chattr +i /etc/passwd //设定文件不能被删除、改名、写入或新增内容 -i 可去掉该属性
11、lsattr命令
常用操作:
[root@localhost ~]# lsattr /etc/passwd //查看文件扩展属性
----ia---------- /etc/passwd
12、xargs命令
作用:将标准输入转换成命令行参数
选项:
"-n" :指定每行的最大参数量
"-i" :以{}替代前面的结果
常用操作:
xargs -n 3 < test.txt //每行最多输出三个字符
xargs :所有输出都变为一行
find / -name "*.log" | xargs -i mv {} dir1 //将以.log结尾的所有文件移动到dir1目录下
find / -name "*.log" | xargs rm -rf //将以.log结尾的所有文件删除。等同于find / -name "*.log" -exec rm -rf {} \;
其他文件处理命令:
cd:切换目录
cd - //切换到上次操作目录
cd ../.. //切换到上两级目录
tree:以树形结构显示目录下的内容
该命令最小化安装时默认不安装,需要自行安装:
yum install -y tree
tree -d //只显示目录不是显示文件
tree -L 1 / //只列出根目录下第一层的结构
touch:创建空文件或改变文件的时间戳属性
rename:重命名文件
rename .jpg .txt *.jpg //将所有文件的.jpg替换为.txt
file:显示文件的类型
[root@localhost ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
Linux文件类型说明:
- 普通文件类型:Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]
- 目录文件: 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]
- 块设备文件 :就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]
- 字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
- 套接字文件:这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型
- 管道文件:FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
- 链接文件:分类硬链接和软连接,类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]
md5sum:计算和校验文件的MD5值
选项: -c //从指定文件中读取MD5校验值,并进行校验
[root@localhost ~]# md5sum anaconda-ks.cfg //输出两部分,第一部分是md5值,后面是文件名
d862f17d783eaf1abcf4f376b5c85527 anaconda-ks.cfg
[root@localhost ~]# md5sum anaconda-ks.cfg >md5.log //生成校验文件
[root@localhost ~]# md5sum -c md5.log //使用-c参数检查,结果OK表示文件没有变化
anaconda-ks.cfg: OK
umask:显示或设置权限掩码
可以通过/etc/profile和/etc/bashrc文件来修改