Linux常用命令之文件管理

Linux常用命令之文件管理,掌握运维必备技能,提升系统操作效率。对于开发人员来说Linux系统命令行是必须掌握的技能,Linux中一切皆文件,本次分享的是文件管理相关的命令。

data-ad-format="fluid" data-ad-layout-key="-7k+ex-4a-9w+4a">

以下就是本次主要讲解的命令。

1、ls命令

语法:

1
ls  [选项] [文件]

选项:

“-a” :显示所有文件和目录(.开头的隐藏文件也会列出)”-l” :显示当前目录下文件的详细信息。”-d” :显示目录本身,一般结合-l使用”-i” :显示文件时,同时显示文件的索引节点”-r” :倒序显示文件”-h” :以人们可读的方式显示文件大小,比如1k,200M,2G等)

常用操作:

ls //查看当前目录下的所有目录和文件ls -a //查看当前目录下所有的目录和文件(包含隐藏文件)ls -l // 列表查看当前目录下所有目录和文件,与“ll”效果一样ls / // 查看指定目录下的所有目录和文件

2、cp命令

语法:

1
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命令

语法:

1
mkdir  [选项]  目录..

选项:

1
"-p"  :创建多级目录

常用操作:

mkdir dir // 创建目录dirmkdir -p dir/dir1/dir2 //创建多级目录

5、mv命令

语法:

1
mv   源文件/目录    目标文件/目录

常用操作:

mv file1 file2 //移动file1到file2中,如果不存在file2,相当于重命名file1,同样适用于目录。mv /opt/* /tmp //将/opt目录下所有文件移动到/tmp目录下

6、rm命令

语法:

1
rm [选项]   文件/目录

选项:

“-i” :删除之前需要确定”-r” :递归删除,用于删除目录”-f” :强制删除,不需要确认

常用操作:

rm file1 //删除当前目录下的文件rm -f file1 //强制删除文件rm -rf dir //强制删除dir目录及dir目录里的所有目录和文件rm -rf * //删除当前目录的所有目录和文件,慎用rm -rf /* //慎用,跑路命令。

7、ln命令

语法:

1
ln  [选项]   源文件   链接文件

选项:

“-s” :创建符号链接”-f” :强制执行,覆盖现有文件

常用操作:

ln test.txt hard_link //创建一个硬链接,删除了源文件,链接文件仍然可用ln -s test.txt soft_link // 创建一个软链接,删除了源文件,链接文件不可用,相当于window的快捷方式。

8、chmod命令

语法:

1
chmod  [选项]  权限  文件/目录

选项:

1
"-R"    :递归处理指定目录以及其子目录下的所有文件

常用操作:

chmod +777 /tmp # 给特定目录添加777权限chmod +x /tmp # 给/tmp目录添加执行权限

以下是权限对应列表

9、chown命令

语法:

1
chown  [选项]  属主权限.组权限  文件/目录

选项:

1
"-R"   :递归更改目录的用户和用户组

常用操作:

1
chown -R rudy.rudy   /tmp       # 将/tmp的属主和属组修改为rudy权限。

10、chattr命令

语法:

1
chattr &#91;-RV]&#91;-v<版本编号>]&#91;+/-/=<属性>]&#91;文件或目录...]

选项:

-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 treetree -d //只显示目录不是显示文件tree -L 1 / //只列出根目录下第一层的结构

touch:创建空文件或改变文件的时间戳属性

rename:重命名文件

1
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文件来修改

data-ad-format="auto" data-full-width-responsive="true">