Linux常用命令学习总结

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情况
    Linux常用命令学习总结_第1张图片
  • sudo groupadd tom:创建tom组;注意只有sudo超级管理员有创建权限。
    在这里插入图片描述
    Linux常用命令学习总结_第2张图片

每一行的含义为 组名:口令:组标识号:组内用户列表1
系统组:1~999为安装Linux以及部分服务性程序时系统自动设置的组
私有组:超级用户新建的组从1000开始

  • sudo useradd cxk -u 1314 -g tomcxk表示用户名; -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)

也可以用数字表示为421

sudo chmod 741 test.txt    # 修改文件test.txt权限

解释:
7 4 1 意思是指111 100 001,每3位为一组权限设置情况.

  • 111:第一组,表示文件所有者user而言,rwx的权限分别设置为111,即可读、可写、可执行.
  • 100:第二组,表示对于group组内的用户而言,rwx的权限分别设置为100,即可读、不可写、不可执行.
  • 001:第三组,表示对于非group组的其它用户而言,rwx的权限分别设置为001,即不可读、不可写、可执行.

通过ls -l看文件详细信息再进一步分析下:

  • 第一列drwxrwxr-xd这是一个目录(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 可以看到修改成功

在这里插入图片描述

Linux常用命令学习总结_第3张图片


  1. 组文件每一行的具体含义-参考资料 ↩︎

  2. 用户每一行的具体含义-参考资料 ↩︎

你可能感兴趣的:(linux,学习,服务器)