文件操作常用命令Linux是一个一切皆文件的操作系统,不管是普通的文件、目录、套接字等,在Linux中都是以文件的方式对待,虽然他们的类型不同,但linux对其提供的是同一套操作界面。
切换工作目录
cd 目标工作路径
注:目标工作路径可为绝对路径也可为相对路径
切换工作目录eg.
以绝对路径方式进入到/home/goddess/lml目录下
bogon:/home/goddess # cd /home/goddess/lml/
bogon:/home/goddess/lml
以相对路径方式进入到/home/goddess/lml目录下
bogon:/home/goddess # cd ./lml/
bogon:/home/goddess/lml #
创建文件
touch [选项] 文件
注:如touch的文件不存在则创建一个空的文件,如touch的文件存在则更新该文件的访问时间
详情请看 touch --hlep详解
创建目录
mkdir [选项] 目录名
常用选项
详情请看 mkdir --hlep详解
创建目录eg.
在/home/下创建/home/goddess/lml
bogon:/home # mkdir /home/goddess/lml
mkdir: cannot create directory `/home/goddess/lml': No such file or directory
bogon:/home # mkdir -p /home/goddess/lml
在/home/goddess下创建权限为rwx--x--x的lili目录
bogon:/home/goddess # mkdir -m 711 lili
bogon:/home/goddess # ls -l
drwx--x--x 2 root root 4096 Mar 23 11:15 lili
drwxr-xr-x 2 root root 4096 Mar 23 11:15 lml
拷贝文件
cp [选项] 源文件 目标文件
常用选项
详情请看 cp --hlep详解
拷贝文件eg.
拷贝/home/goddess/lili到/home/goddess/lml下
bogon:/home/goddess # ls -l
drwx--x--x 2 root root 4096 Mar 23 11:15 lili
drwxr-xr-x 2 root root 4096 Mar 23 11:51 lml
bogon:/home/goddess # cp -r /home/goddess/lili /home/goddess/lml/
bogon:/home/goddess # ls -l lml/
drwx--x--x 2 root root 4096 Mar 23 11:51 lili
移动文件
mv [选项] 源文件 目标文件
常用选项
详情请看 mv --hlep详解
删除文件
rm [选项] 文件
常用选项
详情请看 rm --hlep详解
查看文件路径
pwd
查看文件路径eg.
bogon:/home/goddess # pwd
/home/goddess
查看文件类型
file [选项] 文件
详情请看 file --hlep详解
查看文件类型eg.
bogon:/home/goddess # file lml
lml: directory
查看文件内容
cat [选项] 文件
详情请看 cat --hlep详解
注:cat是不分屏显示文件内容
more 文件
注:more是分屏显示文件内容
常用的more操作
空格键space 表示向下翻一页
按键b 表示向上翻一页
按键Enter 表示向下翻一行
:f 表示显示文件名和目前显示的行数
/字符串 表示在显示的文件内容中搜索“字符串”这个关键字
按键n 表示查找下一个“字符串”关键字
按键q 表示退出查看文件内容
less [选项] 文件
详情请看 less--hlep详解
注:less是分屏显示文件内容,且功能比more更有弹性,如less可有更多的搜索功能等。
常用的less操作
空格键space/按键PgDn 表示向下翻一页
按键PgUp 表示向上翻一页
/字符串 表示向下搜索“字符串”这个关键字
?字符串 表示向下搜索“字符串”这个关键字
按键n 表示重复查找下一个“字符串”关键字
按键N 表示反向重复查找下一个“字符串”关键字
按键q 表示退出查看文件内容
head [选项] 文件
常用选项
详情请看 head --hlep详解
注:head查看文件的前几行内容,默认为前10行
tail [选项] 文件
常用选项
详情请看 tail --hlep详解
注:tail查看文件的前几行内容,默认为后10行
查看文件内容eg.
查看lml.txt文件
bogon:/home # cat lml.txt
查看lml.txt前30行内容
bogon:/home # head -n 30 lml.txt
查看新产生的lml.log内容
bogon:/home # tail -f lml.log
链接文件Linux链接分为两种,硬链接Hard Like和符号链接Symbolic Like即软连接硬链接硬链接是通过索引节点来进行链接,保存在磁盘分区中的文件,linux文件系统都会给它分配一个编号即索引节点号(Inode Index),在linux中多个文件指向同一个索引节点是存在的。如:文件A是文件B的硬链接,则文件A和文件B的索引节点号相同,那么文件A和文件B对文件系统来说是一样的,删除其中任何一个都不会对另一个造成影响。ln 源文件 目标文件
注:目标文件不能事先存在
软链接
软链接文件就是相当于Windows中的快捷方式。如文件A是文件B的软链接,则文件A和文件B的索引节点号不同那么数据块也不同,但是文件A的数据块中只存放的是文件B的路径,那么文件A和文件B是主从关系,那么如果删除文件B,文件A依然存在,但是指向的是一个无效的链接。
ln -s 源文件 目标文件
注:目标文件不能事先存在
软链接eg.
bogon:/home/goddess/lml # ln -s b a
bogon:/home/goddess/lml # ls -l
lrwxrwxrwx 1 root root 1 Mar 23 13:29 a -> b
-rw-r--r-- 1 root root 0 Mar 23 13:29 b
bogon:/home/goddess/lml # rm -rf b
lrwxrwxrwx 1 root root 1 Mar 23 13:29 a -> b(无效的链接)
文件属性和权限bogon:/home/goddess # ls -l
drwxr-xr-x 2 root root 4096 Mar 23 13:38 lml
lrwxrwxrwx 1 root root 1 Mar 23 13:29 a -> b
其文件信息分割为9个字段,如下是每个字段的含义
drwxr-xr-x每个字段的含义如下
注:lml文件是一个目录文件,属主具有读写执行权限,属组具有读执行权限,其他用户有读执行权限
其4表是读,2表示写,1表示执行,那么lml目录文件权限就是755
注:普通文件:r表示可读取文件内容,w表示编辑、新增、修改改文件内容,x表示可被执行
目录文件:r表示读取目录结构和权限,w表示更改目录结构列表,新增、删除、重命名子文件或目录,x表示用户进入到该目录中
文件类型
修改文件属性
chown [选项] 属主名 文件名
chown [选项] 属主名:属组名 文件名
常用选项
详情请看 chown --hlep详解
chgrp [选项] 属主名 文件名
常用选项
详情请看 chgrp --hlep详解
修改文件属性eg.
把/home/goddess/lml的属主属组都改为lml
bogon:/home/goddess # ls -l
drwsr-xr-x 2 root root 4096 Mar 23 13:38 lml
bogon:/home/goddess # chown -R lml:lml lml
bogon:/home/goddess # ls -l
drwsr-xr-x 2 lml lml 4096 Mar 23 13:38 lml
文件特殊权限
文件有基本的读写执行权限,当不满足我们对安全、快捷等工作的需求,便有了SUID和SGID及SBIT的特殊权限机制。
SUID
SUID可让执行者临时拥有属主的权限,SUID只对拥有执行权限的二进制文件有效
设置SUID
chmod u+s 文件
chmod 4xxx 文件
注:4000表示s位,在属主的执行x位置显示s(S)表示设置suid,设置SUID有危险,如对vim设置了SUID则其他人可能乱改导致问题,请慎用SUID
chmod [选项] 文件
常用选项
详情请看 chmod --hlep详解
设置SUID eg.
bogon:/home/goddess # chmod 4755 lml
bogon:/home/goddess # ll -l
drwsr-xr-x 2 root root 4096 Mar 23 13:38 lml
取消SUID
chmod u-s 文件
chmod xxx 文件
SGID
SGID可让执行者临时有用属组的权限,SGID支队拥有执行权限的二进制文件有效,还可在该目录中创建的文件自动继承此目录的用户组,只对目录设置
设置SGID
chmod g+s 文件
chmod 2xxx 文件
注:2000表示s位,在属组的执行x位置显示s(S)表示设置sgid
取消SGID
chmod g-s 文件
chmod xxx 文件
SBIT(Sticky Bit)
SBIT粘滞位只可管理自己的数据而不能删除其他人的数据对目录有效
设置SBIT
chmod o+t 文件
chmod 1xxx 文件
注:1000表示t位,在其他用户的执行x位置显示t(T)表示设置sbit
取消SBIT
chmod o-t 文件
chmod xxx 文件
文件隐藏属性
设置文件隐藏权限
chattr [+-=] [选项] 文件
常用选项
显示文件隐藏权限
lsattr [选项] 文件
常用选项
文件隐藏属性eg.
不运行任何人删除/home/goddess/lml文件夹
bogon:/home/goddess # chattr +i lml
bogon:/home/goddess # rm -rf lml
rm: cannot remove `lml': Operation not permitted
查看/home/goddess/lml文件夹属性
bogon:/home/goddess # lsattr -d lml
----i---------- lml
文件访问控制列表ACL文件的rwx权限、文件特殊权限、隐藏权限都是对某一类用户设置的,如对某个指定的用户进行单独的权限设置那么就需要文件控制列表ACL实现了,ACL就是设定指定的用户或用户组对某个文件的权限。设置ACL规则setfacl [选项] 文件
常用选项
详情请看 setfacl --hlep详解
显示ACL规则
getfacl 文件
详情请看 getfacl --hlep详解
文件访问控制列表ACL eg.
用户lili需要读取root家目录权限
bogon:/home/goddess # su lili
lili@bogon:/home/goddess> cd /root/
bash: cd: /root/: Permission denied
lili@bogon:/root> exit (退出lili用户进入root用户)
bogon:/home/goddess # setfacl -Rm u:lili:rwx /root (给lili用户设置访问/root的acl权限)
bogon:/home/goddess # su lili
lili@bogon:/home/goddess> cd /root
lili@bogon:/root> ls
Desktop Documents autoinst.xml bin inst-sys(用户lili成功进入root家目录)
查看root家目录的ACL规则
bogon:/home/goddess # getfacl /root
# file: root
# owner: root
# group: root
user::rwx
user:lili:rwx
group::---
mask::rwx
other::---
sudo权限sudo命令用于给普通用户提供额外权限来完成原本root用户来完成的任务,这样就避免过多的使用root用户,便捷用户操作,在保证普通用户正常完成工作的前提下,尽可能少的给出额外权限,减少不必要的隐患。root用户在/etc/sudoers文件中配置给普通用户权限的命令,然后普通用户就可以加上sudo去执行那些命令了。visudo配置/etc/sudoersbogon:/home/goddess # visudo
…省略部分输出…
root ALL=(ALL) ALL# %wheel ALL=(ALL) ALL
sudoers文件主要分为4个字段,如下是每个字段的含义
sudo [选项] 命令
详情请看 sudo --hlep详解
sudo权限eg.
给用户lisa可重启服务器
lisa ALL=/sbin/shutdown -r now(使用visudo命令编辑/etc/sudoers进行授权)
bogon:/home/goddess # su lisa
lisa@bogon:/home/goddess> shutdown -r now
shutdown: you must be root to do that
lisa@bogon:/home/goddess> sudo /sbin/shutdown -r now
举报/反馈