1 Linux文件夹和文件操作常用命令详解
ls
:显示当前文件夹中的文件。ls -l
:显示文件的详细信息。ls -lh
:以易读格式显示文件大小及详细信息。ls -a
:显示所有文件,包括隐藏文件。cd
:切换到指定目录。pwd
:显示当前所在路径。mkdir
:创建单级目录;mkdir -p
创建多级目录。touch
:创建空文件或更新文件时间戳。rm
:删除文件;rm -r
删除目录及其内容;rm -rf
强制删除目录及其内容。cp
:复制文件。mv
:移动或重命名文件/目录。du
:查看文件/目录占用的空间;du -sh *
查看当前目录下每个项的大小;du -sh .
查看当前目录总大小。df
:显示磁盘空间使用情况;df -Th
以易读格式显示。wc
:统计文件的行数、字数和字节数。
2 Linux文件编辑和内容显示常用命令详解
2.1 文件编辑常用命令
- vim: 用于编辑文件,如
vim 1.txt
;安装命令为yum install vim
。 - 进入编辑模式:
- 按
i
开始插入文本。 - 按
a
在当前光标后开始插入。 - 按
o
在当前行下方新开一行插入。
- 按
- 普通模式下操作:
gg
移至文件开头。G
跳转至文件末尾。- 数字+
gg
定位到特定行(例如2gg
到第2行)。 yy
复制当前行。p
在光标后粘贴已复制的行。2yy
复制两行。dd
删除当前行。u
撤销上一步操作。Ctrl+r
取消撤销。/关键字
查找指定内容,使用n
或N
寻找下一个或上一个匹配项。
- 命令行模式:
- 从普通模式输入
:
进入。 - 常用命令包括:
:set number
显示行号。:%s/旧词/新词/g
替换所有出现的关键词。:wq
保存并退出。:q!
不保存强制退出。
- 从普通模式输入
sed -i 's/旧内容/新内容/g' 文件名
:替换文件中的内容。
2.2 内容显示常用命令
cat 文件名
:查看文件内容。cat > 新文件名 <<EOF ... EOF
:创建新文件并写入内容。echo "内容" > 文件名
:覆盖文件内容。echo "内容" >> 文件名
:向文件追加内容。more 文件名
:分页查看文件内容;空格翻页,回车逐行显示,q键退出。head [选项] 文件名
:显示文件开头部分,默认10行。例如:head -n 5 文件名
显示前5行。tail [选项] 文件名
:显示文件末尾部分,默认10行。使用-f
实时更新显示文件最新内容。例如:tail -n 5 文件名
显示最后5行。tail -f 文件
名实时打印文件内容。
3 Linux字符串和文件查找命令详解
- grep:搜索文件中匹配的字符串
grep root /etc/passwd
:查找包含"root"的行。grep '^root' /etc/passwd
:查找以"root"开头的行。grep 'nologin$' /etc/passwd
:查找以"nologin"结尾的行。grep -v nologin /etc/passwd
:排除含有"nologin"的行。grep -w bin /etc/passwd
:精确匹配整个单词"bin"。
- find:根据条件搜索文件
find / -name "passwd"
:定位名为"passwd"的文件。find / -name "*.conf"
:找到所有.conf文件。find /var/log/ -type f
:列出/var/log/下的所有文件。find /var/log -mtime +7
:发现修改时间超过7天的文件。find /data/aa/ -type f -mtime +7 -name "*.log" -exec rm -f {} \;
:删除/data/aa/目录下,修改时间超7天且以.log结尾的文件。
- which:显示命令所在路径,如
which ls
给出ls命令的位置。
4 Linux怎么进行用户管理
useradd martin
:创建用户martin。su - martin
:切换至martin用户。exit
:退出当前用户,返回root。passwd martin
:更改martin的密码。passwd -d martin
:移除martin的密码。userdel martin
:删除用户martin。userdel -r martin
:删除用户martin及其家目录。groupadd dba
:新建dba用户组。useradd -g dba liu
:创建liu并加入dba组。usermod -g dba martin
:将martin移动到dba组。groupdel dba
:先确保dba组内无用户,再删除该组。
5 Linux怎么正确设置权限和属性
5.1 Linux权限详解
- 权限类型:
r
:读取(Read),数值为4。w
:写入(Write),数值为2。x
:执行(Execute),数值为1。- 组合示例:
rwx
=7,rw
=6。
- 权限分配:
- 文件或目录的权限分为三部分显示:所有者、所属组、其他用户。
- 使用
ls -l
(或ll
) 查看文件详细信息。 - 示例格式
-rw-r--r--
中,第一位表示文件类型 (-
文件,d
目录);接下来每三位分别对应上述三个类别的权限。
- 数字表示法示例:
-rw-r--r--
= 所有者6(读+写),组4(仅读),其他人4(仅读)。drwx------
= 所有者7(全权),组0(无权),其他人0(无权)。drwxr-xr-x
= 所有者7(全权),组5(读+执行),其他人5(读+执行)。
5.2 修改权限和属性的相关命令
chmod
:更改文件权限chmod 755 1.txt
:设置1.txt的所有者可读写执行,用户组和其他用户仅可读执行。chmod 777 1.txt
:给予1.txt所有用户全部权限(读、写、执行)。
chown
:更改文件的所有者和所属组chown aaa.aaa 1.txt
:将1.txt的所有者和组都改为aaa。chown -R aaa.aaa linux/
:递归地将linux目录及其下所有内容的所有者和组更改为aaa。
6 Linux压缩和解压命令详解
- tar
tar -zcvf 1.tar.gz 1.txt
:压缩1.txt到1.tar.gz。z
表示使用gzip压缩,c
创建归档文件,v
显示过程,f
指定输出文件名。tar -zxvf 1.tar.gz
:解压1.tar.gz。x
用于解压文件。
- gzip
gzip aaa.txt
:压缩aaa.txt。gzip -d aaa.txt.gz
:解压aaa.txt.gz。
- zip
- 安装命令:
yum install zip -y
- 压缩:
zip aaa.txt.zip aaa.txt
- 加密压缩:
zip -e aaa.txt.zip aaa.txt
- 安装解压命令:
yum install unzip -y
- 解压:
unzip 111.txt.zip
- 安装命令:
7 Linux服务管理、性能收集相关命令详解
- ps:显示当前进程状态。
ps -ef
:查看所有进程及其关系。选项-e
显示所有进程,-f
显示程序间的关系。- 主要字段包括:
- UID:进程所有者
- PID:进程ID
- PPID:父进程ID
- C:CPU使用百分比
- STIME:启动时间
- TTY:终端名
- TIME:累计使用的CPU时间
- CMD:启动命令
- 主要字段包括:
ps -ef | grep nginx
:查找是否已启动名为nginx的进程。
- top:查看系统资源使用情况。
'16:29:53'
:当前时间。'up 33 days'
:系统运行时长。'1 user'
:当前登录用户数。'load average: 0.00, 0.02, 0.05'
:过去1、5、15分钟内的平均负载。'Tasks'
行显示总进程数及各状态下的进程数(运行/睡眠/停止/僵尸)。'%Cpu(s)'
行展示CPU使用率,包括用户、系统和空闲百分比。'MiB Mem'
行给出内存使用详情,涵盖总量、空闲、已用及缓存大小。'MiB Swap'
行提供虚拟内存信息,包括总量、空闲、已用及可用大小。- 表格列出了每个进程的详细信息,如PID、用户、优先级、内存使用等。
- 按
q
键退出。
- kill:用于杀死进程
kill [进程号]
:终止指定进程kill -9 [进程号]
:强制终止指定进程
- netstat:显示网络连接、路由表等信息
- 安装命令:
yum install net-tools
- 查看sshd监听端口:
netstat -anp | grep sshd
(选项说明:-a显示所有,-n以数字形式显示地址和端口号,-p显示使用端口的程序名) - 查看特定端口(如22)的信息:
netstat -anp | grep 22
- 统计特定端口(如22)的连接数:
netstat -anp | grep 22 | wc -l
- 安装命令:
- lsof:列出打开的文件
- 安装命令:
yum install lsof -y
- 查看某端口打开的文件:
lsof -i:22
- 查看指定进程号(PID)的文件:
lsof -p [PID]
- 输出格式示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
,其中COMMAND 进程名称;PID 进程号;USER 进程所有者;FD 文件描述符;TYPE 文件类型;DEVICE 指定磁盘名称;SIZE/OFF 文件大小和偏移量;NODE 文件节点;NAME 文件挂载点和文件所在系统
- 安装命令:
- chkconfig:用于检查和设置系统服务。
chkconfig --list
:显示所有服务的状态。数字0到6代表不同的运行级别,0表示关机状态,1表示单用户模式,2表示无网络链接的多用户命令行模式,3表示有网络连接的多用户命令行模式,4保留未使用,5表示带图形界面的多用户模式,6表示重新启动。chkconfig --list network
:查看network服务的状态。chkconfig --add mysql
:添加mysql服务。chkconfig --del mysql
:删除mysql服务。chkconfig mysqld on
:将mysqld服务设为在多个运行级别下自动启动。
- iostat:用于统计系统IO状态。
- 安装命令:
yum install sysstat -y
- 查看CPU使用情况:
iostat -c
- 显示字段解释:
- %user: 用户模式下的CPU时间百分比
- %nice: nice优先级调整后的CPU时间百分比
- %system: 系统模式下的CPU时间百分比
- %iowait: CPU等待I/O完成的时间百分比
- %steal: 虚拟环境中,被其他虚拟机占用的CPU时间百分比
- %idle: CPU空闲时间百分比
- 显示字段解释:
- 查看磁盘使用情况:
iostat -d
- 显示字段解释:
- Device: 磁盘设备名
- tps: 每秒传输次数
- kB_read/s: 每秒读取的数据量(KB)
- kB_wrtn/s: 每秒写入的数据量(KB)
- kB_read: 总读取数据量(KB)
- kB_wrtn: 总写入数据量(KB)
- 显示字段解释:
- 实时监控IO状态:
iostat -d -k 1
-k
表示以KB为单位显示每秒的磁盘请求量,1
表示每隔一秒刷新一次。
- 安装命令:
- iotop:用于查看磁盘 I/O 状态。
- 安装命令:
yum install iotop -y
- 显示信息说明:
Total DISK READ/ WRITE: 0.00 B/s
:分别表示磁盘读取和写入的总速率。Current DISK READ/ WRITE: 0.00 B/s
:分别表示当前磁盘读取和写入的速率。- 列表头解释:
- TID:线程ID
- PRIO:优先级
- USER:线程所有者
- DISK READ/WRITE:磁盘读/写速率
- SWAPIN:交换百分比
- IO>:I/O等待时间百分比
- COMMAND:进程命令
- 按
q
退出程序。 - 查看特定进程的 I/O 状态:
iotop -p [进程号]
- 安装命令:
- uptime:显示系统运行时间和负载情况。
- 示例:‘17:32:12 up 33 days, 3:25, 1 user, load average: 0.06, 0.15, 0.09’
- 17:32:12:当前时间
- up 33 days, 3:25:系统已运行33天3小时25分钟
- 1 user:当前有1个用户登录
- load average: 0.06, 0.15, 0.09:分别代表过去1分钟、5分钟和15分钟的平均负载
- 示例:‘17:32:12 up 33 days, 3:25, 1 user, load average: 0.06, 0.15, 0.09’
8 Linux计划任务怎么配置
- 计划任务格式:
- 查看格式:
cat /etc/crontab
- 格式说明:
* * * * * 用户名 命令
(分别代表分钟、小时、日、月、星期)
- 查看格式:
- 创建/编辑计划任务:使用
crontab -e
- 示例:
- 每小时执行
ls >> ls.log
:0 * * * * ls >> ls.log
- 每天凌晨1点运行备份脚本:
0 1 * * * sh /data/script/backup.sh
- 每周一、三、五早上8点检查备份:
0 8 * * 1,3,5 sh /data/script/check_backup.sh
- 每小时执行
- 查看现有任务:
crontab -l
- 清空所有任务:在
crontab -e
中,输入dG
清空文件。