【Linux】一文搞定Linux常用命令
大家好,作为一名程序员,在日常开发工作中,难免和Linux操作系统打交道,这里我总结了一些Linux常用命令供大家参考,如果在使用过程中遇到问题,或者有其他常用命令想补充,欢迎在评论区交流~
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 maria:创建用户maria。su - maria:切换至maria用户。exit:退出当前用户,返回root。passwd maria:更改maria的密码。passwd -d maria:移除maria的密码。userdel maria:删除用户maria。userdel -r maria:删除用户maria及其家目录。groupadd dba:新建dba用户组。useradd -g dba liu:创建liu并加入dba组。usermod -g dba maria:将maria移动到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分钟的平均负载
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清空文件。



