Linux命令篇

1. 目录和文件共用

1.1 目录和文件操作

# 删除目录/文件 remove
rm [-rf] 文件或目录名
rm -rf test  # 递归(recursive)、强制(force)地删除文件或目录(一般都会加-rf)
# 复制目录/文件 copy
cp [-r...] 源文件/目录 目标文件/目录
cp file.txt /home/file.txt
cp -r source destination  # 复制目录必须使用-r表示递归复制
# 剪切/移动目录/文件 move
mv [options] 源文件/目录 目标文件/目录
mv file.txt /home/file.txt

1.2 权限管理

(1)权限介绍

通过ll可以查看当前目录下文件和子目录的详细信息,其中第一列就是权限:
在这里插入图片描述
在这里插入图片描述
1位:文件类型

  • d:目录文件
  • -:普通文件
  • l:软链接文件
  • b:块设备文件(如分区文件)
  • c:字符设备文件(如鼠标、键盘等)
  • p:管道符文件
  • s:套接字文件

2~4位:文件所属用户 (u) 的权限
5~7位:文件所属组 (g) 的权限
8~10位:其他组 (o) 的权限

  • r:代表权限是可读,r 也可以用数字 4 表示
  • w:代表权限是可写,w 也可以用数字 2 表示
  • x:代表权限是可执行,x 也可以用数字 1 表示

对于文件和目录rwx表示的意义不同
对于文件

  • r:可以用cat查看文件内容
  • w:可以用vim修改文件内容
  • x:可以将其运行为二进制文件

对于目录

  • r:可以查看目录下的列表
  • w:可以创建和删除文件下的目录
  • x:可以使用cd进入目录
(2)权限命令
# 修改文件/目录的权限 change mode(下面两个意义相同)
chmod u=rwx,g=rw,o=r test.txt
chmod 764 test.txt
# 修改文件/目录的的所有者和所属组 change owner&group
chown [选项] user[:group] 文件/目录
# 修改文件/目录的所属组 change group
chgrp [选项] group 文件/目录

2. 目录

2.1 目录切换

# 切换到上一层目录
cd ..
# 切换到系统根目录
cd /
# 切换到当前用户主(家)目录
# 如果是root用户就相当于 cd /root
# 如果是普通用户就相当于 cd /home/jundong.yao
cd ~
# 切换到上一个操作所在目录
cd -
# 进入当前目录下的子目录(usr)
cd usr
# 进入当前目录下的子目录(usr)
cd /usr

2.2 目录操作

# 显示当前工作目录的路径
pwd
# 显示目录下的文件和子目录 list
ls  # 显示当前目录下的文件和子目录
ls /home  # 显示指定目录下的文件和子目录
ll  # (即ls -l) 显示详细信息
# 创建目录 make directory
mkdir [-mp] 目录名
mkdir -p test1/test2/test3  # 递归地创建目录(一次性创建多层目录)
mkdir -m 711 test  # 创建目录及其权限(drwx--x--x)
# 删除空目录 remove directory
rmdir [-p] 目录名
rmdir -p test1/test2/test3  # 递归地删除空目录,直到遇到非空目录或根目录
# 在指定目录及其子目录中搜索文件或目录
find [-name/iname/inum] [表达式]
# 搜索当前目录及子目录下所有文件和文件夹
find .
# 搜索home目录下的以.txt结尾的文件
find /home -name "*.txt"
# 在上述基础上忽略大小写
find /home -iname "*.txt"

3. 文件

3.1 文件操作

# 创建新文件或更新已存在文件
touch [选项] 文件名
touch file1.txt file2.txt file3.txt  # 创建3个文件
# 创建硬链接/软链接
ln [选项] <源文件> <硬链接/软链接文件>
ln file.txt /tmp/file.txt  # 创建名为file_link的硬链接
ln -s file.txt file_link  # 创建名为file_link的软/符号链接(symbolic)
# 查看文件
cat/more/less/tail 文件名
tail -f/tailf 文件名  # 对某个文件进行动态监控(如日志文件)

# 编辑文件
vim 文件名

vim 编辑器是 Linux 中的强大组件,是 vi 编辑器的加强版。包含三种模式:
在这里插入图片描述

  1. 命令/普通模式(Normal mode):用户刚启动 vi/vim 进入的模式,另外两种模式必须通过普通模式进行切换。
  2. 插入模式(insert mode):编辑本文。
  3. 底行模式:有很多命令,一般用来保存并退出(wq)。

一般流程:vim 文件名 ------> 进入文件 -----> 命令模式 ------> 按i进入插入模式 ----->编辑文件 ------->按Esc进入命令模式 -----> 按 shift + ; 进入底行模式 -----> 输入wq或者q!退出(wq表示保存并退出,q!表示强制退出不保存)

3.2 文件压缩

Linux 中的打包文件一般是以 .tar 结尾的,压缩的命令一般是以 .gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般 .tar.gz。

# 打包并压缩文件
tar -zcvf 打包压缩后的文件名 要打包压缩的文件
# test 目录下有三个文件分别是:aaa.txt、 bbb.txt、ccc.txt
tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt  # 压缩包创建在test 目录下
tar -zcvf test.tar.gz test  # 压缩包创建在test父目录下
# 解压压缩包
tar -xvf 压缩文件
tar -xvf test.tar.gz  # 解压到当前目录
tar -xvf test.tar.gz -C /usr  # 解压到指定目录

3.3 文件传输

4. 用户及用户组

4.1 用户管理

# 创建用户账号
useradd [选项] 用户名  # 保存在 /etc/passwd 文本文件中
# 删除用户帐号
userdel [选项] 用户名
# 修改用户账号的属性和配置比如用户名、用户 ID、家目录
usermod [选项] 用户名
# 设置用户的认证信息(用户密码、密码过期时间)
passwd -S 用户名  # 显示用户账号密码信息
passwd -d 用户名  # 清除用户密码,会导致用户无法登录
passwd 用户名  # 修改用户密码,随后系统会提示输入新密码并确认密码
# 切换用户 Switch User
su [选项] 用户名

4.2 用户组管理

# 增加一个新用户组
groupadd [选项] 用户组
# 删除一个已有用户组
groupdel 用户组
# 修改用户组的属性
groupmod [选项] 用户组

5. 系统状态

# 监控系统状况(类似于任务管理器)
top [选项]  # 实时查看系统的CPU使用率、内存使用率、进程信息等
htop [选项]  # 提供了更加交互式和友好的界面
sudo apt install htop  # htop需要安装

在这里插入图片描述


# 监控虚拟内存数据统计 Virtual Memory Statistics
vmstat [间隔时间] [重复次数]
vmstat 5 10  # 每隔5秒统计一次虚拟内存数据,一共统计10次

监控关于进程、内存、swap、I/O 、CPU等系统整体运行状态。
在这里插入图片描述


# 显示系统总共运行了多长时间和系统的平均负载
uptime [选项]

在这里插入图片描述


# 用于查看系统中的进程信息,包括进程的ID、状态、资源使用情况等
ps [选项]
# 这两个命令都是查看当前系统正在运行进程,区别是展示格式不同
ps -ef
ps -aux
# 查看特定的进程
ps aux|grep redis

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 网络通信

# 测试与目标主机的网络连接
ping [选项] 目标主机
# 显示了几个网络接口及其属性,如网络接口的 IP 地址、MAC 地址、状态等
ifconfig
# 用于查看系统的网络连接状态和网络统计信息,如网络协议、监听端口等
netstat [选项]
# 比 netstat 更好用,提供了更快速、更详细的网络连接信息
ss [选项]

7. 其他

7.1 以管理员身份执行指令

# 等同于root亲自执行
sudo 任何命令
# 切换到root用户
sudo su

7.2 杀死进程

ps  # 先查找进程
kill -9 进程的pid  # 然后kill杀掉

7.3 文本搜索工具

# Global search REgular expression and Print out the line
# 全面搜索正则表达式并把行打印出来
# 根据用户指定的“过滤条件”对文本进行逐行的匹配检查
grep [options] [pattern] [file ...]  # pattern可以是字符串也可以是正则
grep 要搜索的字符串 要搜索的文件 --color  # 搜索命令,--color 代表高亮显示

8. 环境变量

在Linux系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的主目录(HOME)。

8.1 常用的环境变量

  1. PATH:操作系统在哪些目录中查找可执行文件
  2. HOME:当前用户的主目录的路径
  3. HISTSIZE:历史记录长度数
  4. LOGNAME:当前用户的登录名
  5. HOSTNAME:指主机的名称
  6. SHELL:当前用户所使用的 Shell 的路径,即 Shell 类型
  7. LANGUAGE:语言相关的环境变量,用于多语言环境设置
  8. MAIL:当前用户的邮件存放目录
  9. PS1:Shell 提示符的格式,对于 root 用户是#,对于普通用户是$

8.2 显示所有环境变量和值

# 显示当前环境变量
env
# 将变量导出为环境变量
export
# 显示已导出的环境变量
export -p

8.3 显示某个变量的值

# 输出当前的PATH环境变量的值
echo $PATH
# 输出当前的HOME环境变量的值
echo $HOME
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值