一、常识

1. 常用目录

  • /boot:存放启动时所需的文件,比如内核文件和启动加载器配置文件(如GRUB)。

  • /root:系统管理员(超级用户)的主目录。

  • /home:普通用户的主目录,存放用户个人文件和设置。

  • /etc:存放系统配置文件,如网络设置、用户信息、启动脚本等。

2. 关机、重启操作

  • 关机命令

    • shutdown -h now:立即关机。

    • poweroff:关闭电源。

    • halt:停止所有处理并关闭系统。

  • 重启命令

    • reboot:重启系统。

    • shutdown -r now:立即重启。

3. 查看历史命令

  • 使用history命令可以查看之前执行过的命令。可以通过!n执行历史中的第n条命令。


二、基本命令

1. 文件操作

  • 查看文件内容cat, less, more, head, tail

  • 新建文件touch filename

  • 新建目录mkdir dirname

  • 重命名文件mv oldname newname

  • 移动文件mv source destination

  • 删除文件rm filename

  • 删除目录rm -r directoryname

  • 查找文件find, locate

  • 复制文件cp source destination

  • 排序文件内容sort filename

  • 按行查找关键字grep "keyword" filename

  • 显示当前工作目录pwd

2. 链接文件

  • 硬链接:文件的镜像副本,与原文件共享inode。删除一个硬链接不会影响文件内容,只有所有链接都删除后文件才会被删除。

    • 命令:ln source hardlink_name

  • 符号链接:类似于Windows的快捷方式,指向目标文件的路径。删除符号链接不影响原文件,但删除源文件会使符号链接失效。

    • 命令:ln -s source symlink_name

3. 文件压缩和打包

  • 打包文件tar命令(如tar -cvf archive.tar files

  • 压缩文件gzip, bzip2, xz

    • 压缩:gzip filename

    • 解压:gunzip filename.gz

4. 管道符和输出重定向

  • 管道符(|):将前一条命令的输出作为后一条命令的输入。

    • 如:cat file | grep keyword

  • 输出重定向

    • 将输出重定向到文件:command > filename

    • 将错误重定向到文件:command 2> errorfile

5. 文件内容统计命令

  • 使用wc命令统计文件内容,包括行数、单词数和字符数。

    • 如:wc filename


三、权限设置

1. 文件属性表示方法

  • 数字法:以三位八进制数字表示文件权限。每一位分别对应用户、组和其他用户,权限值为r=4, w=2, x=1

    • 如:chmod 755 filename 设置所有者有读、写、执行权限,组和其他人只有读和执行权限。

  • rwx表示法r代表读,w代表写,x代表执行权限。

    • 如:-rw-r--r-- 表示文件所有者有读写权限,组和其他人只有读取权限。

2. 改变文件属性命令

  • 改变文件权限:chmod

    • 如:chmod u+x filename 为所有者增加执行权限。

  • 改变文件所属用户或组:chown, chgrp

    • 如:chown user:group filename 更改文件的所有者和组。


四、用户和用户组管理

1. 用户相关配置文件

  • /etc/passwd:存储用户账号信息。

  • /etc/group:存储组信息。

  • /etc/shadow:存储加密的用户密码。

2. 切换有效组

  • 使用newgrp groupname命令切换到指定组。

3. 新建、删除用户和用户组

  • 新建用户:useradd username

  • 删除用户:userdel username

  • 新建组:groupadd groupname

  • 删除组:groupdel groupname

4. 锁定、解锁用户

  • 锁定用户:usermod -L username

  • 解锁用户:usermod -U username


五、软件安装

1. 两种软件安装方式

  • RPM:红帽软件包管理器,适用于RHEL/CentOS等系统。rpm -ivh package.rpm安装,rpm -e package卸载。

  • YUM:基于RPM的包管理器,自动解决依赖关系。yum install package安装,yum remove package卸载。


六、磁盘管理

1. 分区规则和设备文件名

  • 磁盘分区可以使用fdiskparted命令,分区后的设备文件名通常为/dev/sda1,其中a表示硬盘序号,1表示分区序号。

2. 格式化分区命令

  • 使用mkfs命令格式化分区,如mkfs.ext4 /dev/sda1

3. 挂载命令及流程

  • 使用mount命令挂载分区:

    • 如:mount /dev/sda1 /mnt

  • 卸载:umount /mnt

4. 磁盘配额

  • 配置磁盘配额可以使用quotaedquota命令,主要用于限制用户和组使用磁盘空间的大小。


七、进程管理

1. 查看进程

  • 使用ps命令或top命令查看当前系统运行的进程。

    • ps aux:查看所有进程。

    • top:实时查看系统资源占用情况。

2. 计划任务(crontab)

  • crontab格式分钟 小时 日 月 星期 command

    • 如:0 3 * * * /path/to/command 表示每天凌晨3点执行某个命令。

  • 使用crontab -e编辑计划任务。

3. 查看后台任务

  • 使用jobs命令查看后台运行的任务。

4. 设置任务后台执行

  • 在命令后加上&符号可将任务设置为后台运行。

    • 如:command &


八、Vi编辑器

1. 三种模式

  • 命令模式:用于执行删除、复制等命令。

  • 插入模式:用于输入文本。

  • 底行模式:用于执行保存、退出等命令。

切换方式:

  • 命令模式进入插入模式:按ia

  • 命令模式进入底行模式:按:

2. 常规快捷操作

  • 删除行:dd

  • 复制行:yy

  • 粘贴:p

  • 定位到文件首:gg

  • 定位到文件尾:G


九、Shell编程

1. 环境变量的定义

  • 使用export命令定义环境变量。

    • 如:export VAR=value

2. 位置参数

  • \$0表示脚本名称,\$1, \$2, ...表示传递给脚本的参数。

3. 变量输入、输出

  • 输入:read var

  • 输出:echo $var

4. 变量数值计算

  • 使用$(( ))进行算术运算。

    • 如:result=$((a + b))

5. 判断变量是否为整数

  • 可以使用正则表达式进行判断:

    • [[ $var =~ ^[0-9]+$ ]] && echo "整数"

6. 判断参数个数

  • 使用$#判断传递给脚本的参数个数。