常用命令
目录管理
cd # 切换目录命令
# 绝对目录以/开头,./表示当前目录,..表示上一层目录
cd .. # 返回上一级目录
cd ~ # 回到当前用户目录
pwd # 显示当前用户所在的目录
ls # 列出目录
ls -a # 查看全部文件,包括隐藏文件
ls -l # 列出所有文件,包括文件的属性和权限,没有隐藏文件
ls -al # 组合使用
mkdir test1 # 创建目录
mkdir test1/test2 # 创建多级目录
rmdir test1 # 删除空目录
rmdir -p test2 # 递归删除多个目录
cp a.out test1 # 复制文件或者目录
rm # 移除文件或者目录
rm -f # 忽略不存在的文件,不会出现警告,强制删除
rm -r # 递归删除目录
rm -i # 询问是否删除
rm -rf / # 删除系统中所有文件
mv # 移动文件或者目录,还可以重命名文件
mv -f # 强制移动
mv -u # 只替换更新过的文件
文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中可以使用ls -ll
或者ls -l
命令查看一个文件的属性以及文件所属的用户和组。
d
在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或者链接文件等。
d
则是目录-
则是文件l
则是链接文件b
则是设备文件里面可供存储的接口设备(可随机存储设备)。c
则是设备文件里面的串行端口设备,例如键盘、鼠标(一次性读取设备)。
接下来的字符中,以三个为一组,且均为rwx
的三个参数的组合。其中,r
代表可读,w
代表可写,x
代表可执行。
需要注意的是,这三个权限的位置不会变,如果没有权限,就会出现减号-
。
每个文件的属性由左边第一部分的10个字符来确定:
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件所有者)拥有该文件的权限,第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
第1、4、7位表示读权限,如果用“r”字符表示,则有读权限,如果用“-”字符表示,则没有读权限。
第2、5、8位表示写权限,如果用“w”字符表示,则有写权限,如果用“-”字符表示,则没有写权限。
第3、6、9位表示执行权限,如果用“x”字符表示,则有执行权限,如果用“-”字符表示,则没有执行权限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或者多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
修改文件属性
chgrp [-R] 属组名 文件名 # 更改文件属组
# -R 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R参数,那么该目录下的所有文件的属组都会更改。
chown [-R] 属主名 文件名 # 更改文件属主,也可以同时更改文件属组
chown [-R] 属主名:属组名 文件名
chmod [-R] xyz 文件或目录 # 更改文件9个属性
# Linux文件属性有两种设置方法,一种是数字,一种是符号。
# Linux文件的基本权限有9个
# 可以使用数字代表各个权限r:4 w:2 x:1
# 每种身份各自的三个权限分数是需要累加的,例如权限为rwxrwx---分数则是:
# owener=rwx=4+2+1=7 group=rwx=4+2+1=7 others=---=0+0+0=0
# chmod 770 filename
文件内容查看
Linux系统中使用以下命令来查看文件的内容:
cat # 由第一行开始显示文件内容
tac # 从最后一行开始显示,可以看出tac是cat的反写
nl # 显示的时候,顺道输出行号
more # 一页一页的显示文件内容
less # 与more差不多,可以往前翻页,空格翻页,上下键移动,退出q,
# 向下查找字符串:/字符串,向上查找字符串:?字符串,n继续向上查找,N继续向下查找
head # 只看头几行,通过-n参数来控制显示几行
tail # 只看尾几行,通过-n参数来控制显示几行