本篇博客介绍 Linux 的常用命令中的文件处理命令和权限管理命令。
操作系统的命令格式为:
命令 [-选项] [参数(即操作对象)]
例如:ls -la /etc
1. 文件处理命令
文件处理命令包括:目录处理命令、文件处理命令、链接命令
1.1 目录处理命令
1.1.1 目录处理命令 ls
- 命令名称:
ls
- 命令英文原意:
list
- 命令所在路径:
/bin/ls
- 执行权限:所有用户
- 功能描述:显示当前目录的文件
ls -a
显示出隐藏文件ls /
查看根目录的文件ls -l
l 代表 length, 长格式多出一些相关的属性。
查询结果如下图所示:
对 -rw-------
进行介绍:
根据用户和文件之间的关系,可以把用户分为三类:所有者user、 所属组group 和 其他other 。并且所有者和所属组分别只能有一个。
第一个符号-
,代表类型,比如 -
代表文件,d
代表目录,l
代表链接。
接下来三个符号rw-
, 代表所有者u 的权限,r是读,w是写,x是执行。再接下来的三个---
,代表所属组 g 的权限,最后三个符号代表其他人 o 的权限。
总结:
ls -a 可以显示隐藏文件
ls -l 长格式显示文件属性
ls -i 查询文件的 id
1.1.2 目录处理命令 mkdir
命令英文原意:make directories
命令功能:创建一个新目录
mkdir /tmp/movie
mkdir -p 可实现递归创建目录及子目录
mkdir -p /tmp/English/book
1.1.3 目录处理命令 cd
- 命令名称:cd
- 英文原意:change directory
- shell 内置命令
- 执行权限:所有用户
- 功能描述:可实现目录的切换
- 范例:
cd /tmp/english/book
cd /etc
1.1.4 目录处理命令 pwd
- 命令名称:pwd
- 英文原意:print working directory
- 执行权限:所有用户
- 功能描述:显示当前所在的目录(绝对路径)
- 范例:
$ pwd
/tmp/English
cd . 回到上级目录(这里要注意的是cd和.之间有空格)
cd .. 回到上上级目录
1.1.5 目录处理命令 rmdir
- 命令名称:rmdir
- 英文原意:remove empty directories
- 命令所在路径:/bin/rmdir
- 执行权限:所有用户
- 操作语法:rmdir [目录名]
- 功能描述:删除空目录
- 范例:
$ rmdir /tmp/English/movie
1.1.6 目录处理命令 cp
- 命令名称:cp
- 英文原意:copy
- 所在路径:/bin/cp
- 执行权限:所有用户
- 功能描述:复制文件或目录
- 操作语法:
cp -rp [原文件或目录] [目标目录]
-r 复制目录
-p 保留文件属性
$ cp -r /tmp/Janpan/cangjing /tmp
$ ls /tmp
可以同时复制多个文件
cp -r /temp/install.log /root/cc.txt /tmp
保留文件属性
cp -p /root/install.log /tmp
复制时候改名
cp -r /tmp/janpan/logze /root/shenchao.18+
1.1.7 目录处理命令 mv
- 命令名称:mv
- 英文原意:mov
- 所在路径: /bin/mv
- 执行权限:所有用户
- 功能描述:剪切文件、改名
- 操作语法:mv [原文件或目录] [目标目录]
clear 清屏
cd Janpan
剪切
mv /tmp/Janpan/cangjing /root
在当前目录下的剪切
mv cangjing /root
mv /tmp/Japan/longze /root/nvshen
mv cangjing canglaoshi
1.1.8 目录处理命令 rm
- 命令名称:rm
- 英文原意:remove
- 所在路径:/bin/rm
- 执行权限:所有用户
- 功能描述:删除文件
- 操作语法:
rm -rf [文件或目录]
-r 删除目录
-f 强制执行 force
1.2 文件处理命令
1.2.1 文件处理命令 touch
- 命令名称:touch
- 所在路径:/bin/touch
- 执行权限:所有用户
- 功能描述:创建空文件
- 操作语法:touch [文件名]
touch fengmin.txt
touch lovestory.list
touch /root/JanpanLovestory.list
创建两个文件:
touch file1 file2
touch "program file" # 不建议这样使用
1.2.2 文件处理命令 cat
- 命令名称:cat
- 所在路径:/bin/cat
- 执行权限:所有用户
- 功能描述:显示文件内容 -n 显示行号
- 操作语法:cat [文件名]
cat /etc/issue
cat -n /etc/issue
1.2.3 文件处理命令 tac
- 命令名称:tac
- 所在路径:/usr/bin/tac
- 执行权限:所有用户
- 功能描述:显示文件内容(反向列示)
- 操作语法:tac [文件名]
1.2.4 文件处理命令 more
- 命令名称:more
- 所在路径:/bin/more
- 执行权限:所有用户
- 功能描述:分页显示文件内容
- 操作语法:
more [文件名]
(空格) 或 f 翻页
(Enter) 换行
q 或 Q 退出
more /etc/services
1.2.5 文件处理命令 less
- 命令名称:less
- 所在路径:/bin/less
- 执行权限:所有用户
- 功能描述:分页显示文件内容
- 操作语法:less [文件名]
less /etc/services
: service 搜索关键字 点击n (next)
1.2.6 文件处理命令 head
- 命令名称:head
- 所在路径:/bin/head
- 执行权限:所有用户
- 功能描述:显示文件前面几行; -n 指定行数
- 操作语法:head [文件名]
head -n 7 /services # 默认前10行
tail -n 10 /services # 查后10行的文件内容
tail -f /log # 动态变化
1.3 链接命令
1.3.1 链接命令 ln
- 命令名称:ln
- 英文原意:link
- 所在路径:/bin/ln
- 执行权限:所有用户
- 功能描述:生成链接文件
- 操作语法:
ln -s [原文件] [目标文件]
-s 创建软链接
创建issue的软链接:
$ ln -s /etc/issue /tmp/issue.soft
创建issue的硬链接:
$ ln /etc/issue /tmp/issue.hard
lrwxrwxrwx
开头的 l
代表软链接。类似于windows的快捷方式,只是一个链接指向。生成的文件很小。
2 权限管理命令
2.1 权限管理命令 chmod
- 命令名称:chmod
- 英文原意:change the permissions mode of a file
- 所在路径:/bin/chmod
- 执行权限:所有用户
- 功能描述:改变文件或目录权限
- 操作语法:
chmod [{ugoa} {+-=} {rwx} [文件或目录]]
[mode=421] [文件或目录]
-R 递归修改
ls -l Janpanlovestory.list
chmod u+x Janpanlovestory.list
chmod g+w, o-r Janpanlovestory.list
chmod g=rwx Janpanlovestory.list
权限的数字表示:
r 4
w 2
x 1
rwxrw-r--
7 6 4
rw-r-----
6 4 0
chmod 777 /tmp/a
chmod -R 777 /tmp/a 目录下所有的文件的权限都被改变。
# experiment
mkdir /temp
touch temp/testfile
chmod 777 /temp
ls -ld /temp
ls -l /temp/testfile
符号 | 含义 | 功能 | 其他功能 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
2.2 权限管理命令 chown
- 命令名称:chown
- 英文原意:change file ownership
- 所在路径:/bin/chown
- 执行权限:所有用户
- 功能描述:改变文件或目录的所有者
- 操作语法:chown [用户] [文件或目录]
chown usera userb
2.3 权限管理命令 chgrp
- 命令名称:chgrp
- 英文原意:change file group ownership
- 所在路径:/bin/chgrp
- 执行权限:所有用户
- 功能描述:改变文件或目录的所属组
- 操作语法:chgrp [用户组] [文件或目录]
ls -l fengjie
groupadd lampbrother
改变文件fengjie的所属组为lampbrother:
chgrp lampbrother fengjie
ls -l fengjie
chmod g+w fengjie
2.4 权限管理命令 umask
- 命令名称:umask
- 英文原意:the user file-creation mask
- 所在路径:Shell 内置命令
- 执行权限:所有用户
- 功能描述:显示、设置文件的缺省权限
- 操作语法:
umask [-S]
-S 以rwx形式显示新建文件缺省权限
文件的所有者 - 创建的文件用户 root
所属组来自哪里?缺省组 文件的创建者
umask -S # 看每个用户的权限
mkdir lamp
ls -ld lamp
touch fanbingb
ls -l fanbingb
umask 077
touch liuyifei
ls -l liuyifei
mkdir file
ls -ld file
任何新建的文件都会把可执行权限去掉。
0022
0 - 特殊权限
022 - 所有者 所属组 其他----w–w-