Linux命令分类
- 1. Linux目录操作命令
- 2. Linux文件名称
- 3. Linux磁盘命令
- 4. Linux进程与防火墙
- 5. Linux用户与组的关系
- 6. Linux权限操作(chmod命令)
- 7. Linux中的文件类型
- 文件所有者修改
最近系统地学习下Linux命令的使用,因此作如下记录,以便随时复习和翻阅。
1. Linux目录操作命令
ls -al # 查看目录文件,a表示查看该文件夹下的全部文件,l表示以长格式展示文件详细信息
tree # 以层次的形式显示目录结构cd xx # 进入xx目录
cd .. # 表示切换到上一层目录
cd ~ # 切换到home目录,即/home/xxx
pwd # 查看当前所在目录路径mkdir xx # 创建一个目录
mkdir -p xxx/yyy/zzz # 递归创建目录
rmdir xxx # 删除指定目录(必须为空目录)
rm -rf xxx # 删除非空目录(-r 表示递归删除,-f表示是否给出提示信息)
2. Linux文件名称
touch test.txt # 创建名字为test.txt的空文件vi test.txt # 进入test.txt进行编辑
cat test.txt # 查看test.txt文件的内容(相当于直接print在终端了)
# -c:表示统计文件的字节数chars, -l:表示统计文件的行数lines,-w:表示文件的字数words
wc -clw test.txt
# 注意结果输出格式为:行数:单词数:字节数:文件名cp file1 file2 # 复制文件 (file2可以包含路径,否则为当前目录, 文件类型可以不一致)
cp -r dir1/ dir2 # 将整个dir1目录下的子目录和子文件一起复制dir2下 (dir2下会有dir1目录)
mv test.txt test1.txt # 移动文件且重命名,test为原文件名,test1为新文件名# 压缩文件,
# -c表示创建压缩包,-z表示使用gzip压缩文件,-v表示压缩和解压的操作过程,-f表示指定的被压缩文件
tar -czvf cxk.tar.gz cxk # 将cxk目录打包并压缩成cxh.tar.gz
tar -xzvf cxk.tar.gz # 解压文件,-x表示从压缩包提取文件
tar -tzvf cxk.tar.gz # 查看压缩文件内容
rm -rf xxx # 删除文件,-f表示是否弹出提示信息,-r表示递归删除
3. Linux磁盘命令
df -h # 查看磁盘可用空间,并用MB,G等单位来美化原来的KB(仅使用df)
df -aT # 磁盘空间占用,-a:列出全部文件系统, -T表示显示文件
du -sh # 统计当前目录占用磁盘的空间大小
sudo fdisk -l # fdisk用来进行磁盘区分(这里表示查看当前系统的分区情况)mount # 查看当前已挂载的文件系统
mount /xx/x /yy/y # 挂载文件系统到指定目录
umount /yy/y # 卸载文件系统cat /etc/fstab # 查看当前系统自动挂载的分区
mkfs.fstype # 格式化分区,例如mkfs.ext4
# swap 在内存不够的时候,可以充当内存
mkswap # 创建swap分区,通过swapon生效
free -h # 查看swap使用情况
#
4. Linux进程与防火墙
# pgrep == ps -e | grep xxx
ps -ef # 查看全部进程,(-e表示全部进程,-f表示显示详细信息)
pgrep -l xxx # 查看进程信息,(-l表示显示进程名称和pid号,xxx为进程名)
kill -9 xxx # 终止进程,(xxx为进程pid,如2174)systemctl status firewalld # 查看防火墙状态
systemctl stop firewalld # 关闭防火墙
systemctl start firewalld # 启动防火墙
5. Linux用户与组的关系
sudo groupadd tom # 创建组
cat /etc/group # 查看组信息,即所有的组都在这里面查看
sudo groupdel tom # 删除组# 添加用户 cxk为用户名, -u表示指定UID, -g指定组GID -e为账号设置过期时间格式xxxx-xx-xx
sudo useradd cxk -u uid -g tom sudo passwd cxk # 设置密码
cat /etc/passwd # 查看用户信息,即所有的用户信息都在这里面查看
sudo userdel cxk # 删除用户sudo groups cxk # 查看一个用户所属的所有群组
id cxk # 查看用户的UID和组GID的相关信息
这里有点迷惑,接下来对组和用户的相关命令进行操作测试。
cat /etc/group
:查看group情况
sudo groupadd tom
:创建tom
组;注意只有sudo超级管理员有创建权限。
每一行的含义为
组名:口令:组标识号:组内用户列表
1
系统组:1~999为安装Linux以及部分服务性程序时系统自动设置的组
私有组:超级用户新建的组从1000开始
-
sudo useradd cxk -u 1314 -g tom
:cxk
表示用户名;-u 1314
为指定用户ID,这是计算机的对用户对象的标识符;-g tom
指定该用户所属组为之前创建过的tom
-
cat /etc/passwd
:查看所有用户的信息,通常用户的信息存储在/etc/passwd目录下
该行的内容分别表示:
注册名:身份验证口令:用户标识符UID:组标识符GID:用户名:用户主目录:shell路径
2
sudo passwd cxk
:密码保存在/etc/shadow文件中
sudo userdel cxk
:执行即可删除cxk用户的相关信息
注意:如果某个组下存在用户,那么直接删除该组的操作将被拒绝
sudo useradd wjk -u 1998
:不指定组GID,新增用户成员,可以看到wjk
用户自动为自己创建了一个wjk组
6. Linux权限操作(chmod命令)
Linux系统中的目录和文件访问的身份有如下三种:
user
:文件所有者group
:文件所有者所在组的其他成员other
:不是文件所有者所在组的其他成员
每一种身份的文件或目录的权限可分为:可读(r)
、可写(w)
、可执行(x)
也可以用数字表示为4
、 2
、1
sudo chmod 741 test.txt # 修改文件test.txt权限
解释:
7 4 1
意思是指111 100 001
,每3位为一组权限设置情况.
111
:第一组,表示文件所有者user而言,rwx
的权限分别设置为1
、1
、1
,即可读、可写、可执行
.100
:第二组,表示对于group组内的用户而言,rwx
的权限分别设置为1
、0
、0
,即可读、不可写、不可执行
.001
:第三组,表示对于非group组的其它用户而言,rwx
的权限分别设置为0
、0
、1
,即不可读、不可写、可执行
.
通过ls -l
看文件详细信息再进一步分析下:
- 第一列
drwxrwxr-x
:d
这是一个目录(dir),后面为该目录的权限. - 第二列
2
:表示文件或者目录的链接数字. - 第三列
ubuntu
:表示文件或目录的所有者. - 第四列
ubuntu
:表示文件或目录的所有者所在的组. - 第五列
7
:表示文件或者目录的大小. - 第六列
18:50
:表示文件的或者目录最后的更新时间. - 第七列
cxk1
:表示文件或目录的名称.
补充:第一列共10个字符,
- 第一个字符表示文件类型:目录或文件.
d 表示目录文件(蓝色),- 表示普通文件(黑色/红色/绿色), l 表示链接文件(浅蓝色).
p表示管道文件,b表示块设备文件.
7. Linux中的文件类型
POSIX定义了7种文件类型, 使用ls -l
查看,第一个字母为文件类型:
- 普通文件(f)
- 目录文件(d):目录是一种特殊的文件,用来存储当前目录下的文件信息.
- 符号链接(l):是对其他文件或者目录的引用,保存了目标对象的路径,通过ln -s创建.
ln -s source_name link_name
- FIFO( p ):管道文件,用于进程间的通信.
- Socket(s):用于进程间的通信,支持全双工.
- 设备文件:块设备文件(b)、字符设备文件(c )
文件所有者修改
# 查找/dev目录下,所有块设备文件,并详细显示文件信息
find /dev -type b -ls
stat xxx # 查看指定文件状态
chmod # 修改文件权限
chown root ./xxx # 修改文件或目录所有者为root,ls -l查看结果
chgrp root ./xxx # 修改文件或目录所在组修改为root
ls -l
可以看到修改成功
组文件每一行的具体含义-参考资料 ↩︎
用户每一行的具体含义-参考资料 ↩︎