linux 常用的命令

一、文件和目录操作

  1. ls:列出目录内容。
  2. cd:切换当前工作目录。
  3. pwd:显示当前工作目录的绝对路径。
  4. mkdir:创建新目录。
  5. rmdir:删除空目录。
  6. rm:删除文件或目录(使用-r选项递归删除目录)。
  7. cp:复制文件或目录。
  8. mv:移动或重命名文件或目录。
  9. touch:创建空文件或修改文件时间戳。
  10. find:在目录树中搜索文件,并执行指定的操作。

二、文本查看和处理

  1. cat:查看文件内容,并可以将多个文件内容合并后输出。
  2. more:分页显示文件内容。
  3. less:与more类似,但支持向前和向后翻页。
  4. head:显示文件的开头部分。
  5. tail:显示文件的末尾部分,常用于查看日志文件。
  6. grep:在文件中搜索符合模式的字符串。
  7. sed:流编辑器,用于对文本进行过滤和转换。
  8. awk:强大的文本分析工具,用于处理和分析文本数据。

三、系统管理和监控

  1. ps:显示当前进程的快照。
  2. top:实时显示系统中各个进程的资源占用情况。
  3. htop:top的增强版,提供了更丰富的界面和更多的功能。
  4. kill:发送信号到进程,通常用于终止进程。
  5. free:显示系统的内存使用情况。
  6. df:显示磁盘空间的使用情况。
  7. du:显示目录或文件的磁盘使用情况。
  8. uptime:显示系统运行时间及负载。
  9. dmesg:显示或控制内核环形缓冲区的消息。

四、网络配置和监控

  1. ifconfig (或ip addr):查看和配置网络接口。
  2. ping:测试主机之间的网络连通性。
  3. netstat:显示网络连接、路由表、接口统计等信息(注意:在某些新版本的Linux中,netstat可能被ss命令取代)。
  4. ss:用于显示套接字统计信息,可以看作是netstat的现代替代品。
  5. scp:安全地复制文件或目录到远程主机或从远程主机复制文件或目录。
  6. ssh:安全地登录到远程主机并执行命令。

五、压缩和解压

  1. tar:打包和解包文件。
  2. gzip:压缩或解压缩文件。
  3. bzip2:另一种压缩工具,压缩率高于gzip。
  4. zip/unzip:用于压缩和解压ZIP格式的文件。

六、用户管理

  1. useradd:添加新用户。
  2. usermod:修改用户账户。
  3. userdel:删除用户账户。
  4. passwd:更改用户密码。
  5. groups:显示用户所属的组。
  6. groupadd:添加新组。
  7. groupdel:删除组。

七、系统启动和关闭

  1. reboot:重启系统。
  2. shutdown:关闭系统。

八、其他常用命令

  1. echo:在终端输出字符串或变量。
  2. man:查看命令的手册页。
  3. history:查看命令历史记录。
  4. chmod:更改文件或目录的权限。
  5. chown:更改文件或目录的所有者和所属组。

查找特定文件:find / -name "file_name"

打开指定目录:cd /path/to/directory

列出当前目录下的内容:ls

设置环境变量:export VARIABLE_NAME=value

显示网络接口:ifconfig

显示内存使用情况:free -m

显示磁盘使用情况:df -h

添加新用户:adduser username

查看系统日志:tail /var/log/syslog

显示当前登录用户:whoami

关闭防火墙:systemctl stop firewalld

升级系统软件包:yum update

启动特定服务:systemctl start service_name

停止特定服务:systemctl stop service_name

重启计算机:reboot

关机:shutdown now

列出正在运行的进程:ps -ef

杀死进程:kill process_id

重命名文件或目录:mv old_name new_name

复制文件或目录:cp source_file destination

删除文件或目录:rm file_name

使用 tar 打包文件:tar -czvf archive_name.tar.gz directory_to_archive

解压 tar 文件:tar -xzvf archive_name.tar.gz

显示文件内容:cat file_name

查找特定字符串:grep "string_to_search" file_name

通过 SSH 连接到远程主机:ssh username@remote_host

显示当前日期:date

显示当前时间戳:date +%s

显示当前工作目录:pwd

显示命令历史记录:history

添加新的系统用户组:groupadd group_name

查看用户组信息:id group_name

切换到 root 用户:su - root

显示 CPU 信息:cat /proc/cpuinfo

显示内存信息:cat /proc/meminfo

显示磁盘分区信息:fdisk -l

显示网卡信息:lspci -v

显示 USB 设备列表:lsusb

挂载 CD-ROM:mount /dev/cdrom /mnt

卸载 CD-ROM:umount /dev/cdrom

显示所有本地 IP 地址:hostname -I

更改文件权限:chmod permissions file_name

更改文件拥有者:chown owner_name file_name

更改文件所属组:chgrp group_name file_name

显示当前打开的文件:lsof

显示系统负载:uptime

显示系统版本和发行版:cat /etc/*release

显示当前网络连接:netstat

显示当前系统信息:uname -a

显示磁盘 IO 统计信息:iostat

显示系统日志:dmesg

显示当前用户所属组:groups

显示指定目录下的文件数目:ls -l | grep "^-" | wc -l

显示指定目录下的子目录数目:ls -l | grep "^d" | wc -l

列出所有系统服务:systemctl list-unit-files --type=service

列出所有网络接口:ip link show

显示当前占用端口的进程:lsof -i :port_number

显示进程的内存使用情况:ps aux | awk '{print $4"\t"$11}' | sort | uniq -c | awk '{print $2" "$1" "$3}' | sort -n

检查主机名是否可解析:nslookup host_name

将指定目录下的所有文件和子目录复制到另一个目录:cp -r source_directory destination_directory

查找最大的文件:find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $NF ": " $5 }' | sort -h -k 2,2 -r | head -n 5

显示当前进程树:pstree

显示当前登录用户的环境变量:printenv

设置别名:alias new_command='original_command'

查看 IP 地址相关信息:ip addr show

显示操作系统架构信息:uname -m

显示当前网络状态:ss

显示所有已安装的软件包列表:rpm -qa

显示当前登录用户的 UID 信息:id

显示当前用户所在地理位置:curl http://ipinfo.io/ip

显示所有已安装的 Python 模块:pip list

列出指定目录下的文件夹的大小:du -sh dir_name/*

显示当前系统中所有正在运行的服务:systemctl list-units --type=service

显示指定端口被哪个进程占用:lsof -i :port_number

显示当前系统负载和内存使用情况:top

查看磁盘空间使用情况:du -sh directory_path

显示当前登录用户的 shell:echo $SHELL

显示 CPU 温度信息:sensors

查找指定目录下最新修改的文件:ls -alrt directory_path | tail -1

在指定目录下查找包含特定字符串的文件:grep -rnw 'directory_path' -e 'search_string'

显示当前用户所在的组列表:id -Gn

显示当前系统中所有活动的网络连接:netstat -a

显示当前系统的 DNS 配置:cat /etc/resolv.conf

显示当前打开的 TCP 句柄列表:ss -t

显示当前打开的 UDP 句柄列表:ss -u

列出所有已安装的 Perl 模块:perl -e 'foreach (@INC) { print "_\\n"; }' \| xargs ls \| grep .pm \| sed 's/\\.pm//'

显示系统中所有的 cron 作业:crontab -l

显示系统中所有安装的 Python 版本:ls /usr/bin/python*

显示指定目录下最大的若干个文件:ls -S directory_path | head -n 5

执行命令并将结果保存到文件中:command_name > output_file.txt

显示当前系统中所有活跃的 TCP 连接:netstat -at

显示当前系统中所有活跃的 UDP 连接:netstat -au

显示当前系统中所有活跃的网络连接:netstat -an

显示当前系统中活跃的 UNIX 连接:netstat -ax

显示当前系统中所有已安装的 PHP 模块:php -m | sort

列出当前目录下的所有文件和子目录:ls -R

显示当前系统中所有活跃的 HTTP 连接:netstat -apn | grep :80 | grep ESTABLISHED

显示当前系统中所有活跃的 HTTPS 连接:netstat -apn | grep :443 | grep ESTABLISHED

显示当前系统中所有活跃的 SSH 连接:netstat -apn | grep :22 | grep ESTABLISHED

查找指定文件的位置:which file_name

相关推荐
云飞云共享云桌面25 分钟前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq1 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮2 小时前
Linux 使用中的问题
linux·运维
dsywws3 小时前
Linux学习笔记之vim入门
linux·笔记·学习
龙哥·三年风水4 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
幺零九零零4 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
free5 小时前
netstat中sendq/recvq用于排查发送端发送数据的问题
服务器
小林熬夜学编程5 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
力姆泰克5 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克5 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节