一些常用的Linux命令及其详细用法,包括基本文件操作、系统管理、网络相关和进程管理等内容。
1. 文件和目录操作
-
ls
: 列出目录内容ls
:列出当前目录下的文件和子目录。ls -l
:以长格式列出,显示权限、所有者、文件大小、修改时间等信息。ls -a
:显示所有文件,包括隐藏文件(以.
开头的文件)。ls -h
:文件大小以可读性更高的格式(如KB, MB)显示。
-
cd
: 切换目录cd
:回到用户主目录。cd /path/to/directory
:切换到指定目录。cd ..
:切换到上一级目录。cd -
:切换到上一个目录。
-
pwd
: 显示当前工作目录的完整路径 -
mkdir
: 创建目录mkdir directory_name
:创建一个名为directory_name
的目录。mkdir -p /path/to/directory
:递归创建多级目录。
-
rmdir
: 删除空目录rmdir directory_name
:删除指定空目录。rmdir -p /path/to/directory
:递归删除目录树中的空目录。
-
rm
: 删除文件或目录rm file_name
:删除文件。rm -r directory_name
:递归删除目录及其内容。rm -f file_name
:强制删除文件,不提示确认。
-
cp
: 复制文件或目录cp source_file destination_file
:复制文件。cp -r source_directory destination_directory
:递归复制目录。
-
mv
: 移动或重命名文件或目录mv old_name new_name
:重命名文件或目录。mv file_name /new/location/
:移动文件到指定位置。
2. 文件内容查看
-
cat
: 连接文件并显示内容cat file_name
:显示文件内容。cat file1 file2 > combined_file
:将多个文件内容合并输出到一个文件中。
-
tac
: 逆序显示文件内容tac file_name
:从最后一行开始显示文件内容。
-
more
: 分页显示文件内容more file_name
:按屏幕分页显示文件内容,按空格
显示下一页。
-
less
: 分页查看文件内容(比more
功能更强大)less file_name
:分页显示文件内容,支持向上滚动。
-
head
: 显示文件的开头部分head -n 10 file_name
:显示文件的前10行。
-
tail
: 显示文件的末尾部分tail -n 10 file_name
:显示文件的最后10行。tail -f file_name
:实时显示文件的末尾,常用于查看日志文件。
3. 文件搜索
-
find
: 查找文件find /path -name "file_name"
:在指定路径查找文件。find /path -type f -name "*.txt"
:查找指定类型的文件(如.txt
文件)。find /path -size +100M
:查找大于100MB的文件。
-
grep
: 搜索文本中的模式grep "pattern" file_name
:在文件中搜索指定的字符串模式。grep -r "pattern" /path/to/search
:递归搜索目录中的文件。
-
locate
: 快速查找文件locate file_name
:在系统中查找文件,需提前构建数据库。
4. 文件权限和所有权
-
chmod
: 更改文件权限chmod 755 file_name
:设置文件为所有者可读写执行,其他用户可读执行。chmod u+x file_name
:为文件所有者增加执行权限。chmod -R 644 directory_name
:递归设置目录及文件权限。
-
chown
: 更改文件所有者和组chown user:group file_name
:更改文件的所有者和所属组。chown -R user:group directory_name
:递归更改目录及其内容的所有者和所属组。
5. 系统管理
-
df
: 显示文件系统磁盘使用情况df -h
:以人类可读的格式显示磁盘使用情况。
-
du
: 显示目录或文件的磁盘使用情况du -sh /path/to/directory
:显示目录的总大小。
-
top
: 实时显示系统进程信息top
:显示系统中资源使用最多的进程。
-
ps
: 显示当前进程信息ps aux
:显示所有进程的详细信息。ps -ef
:以另一种格式显示进程信息。
-
kill
: 终止进程kill PID
:发送SIGTERM
信号终止指定PID的进程。kill -9 PID
:强制终止进程。
-
htop
: 交互式进程查看工具(需要安装)htop
:图形化显示系统进程信息,支持快捷键操作。
6. 网络操作
-
ping
: 检测网络连通性ping domain_or_ip
:连续发送ICMP请求检测网络连通性。ping -c 4 domain_or_ip
:发送4次ICMP请求。
-
ifconfig
: 显示或配置网络接口(现已被ip
命令取代)ifconfig
:显示所有网络接口的详细信息。ifconfig eth0 up/down
:启用/禁用网络接口。
-
ip
: 新版网络配置工具ip a
:显示网络接口的详细信息。ip link set eth0 up/down
:启用/禁用网络接口。
-
netstat
: 显示网络连接、路由表等netstat -tuln
:显示所有监听的TCP和UDP端口。netstat -anp | grep 80
:显示占用端口80的进程。
-
ssh
: 远程登录到另一台Linux机器ssh user@hostname
:连接到远程主机。ssh -i /path/to/private_key user@hostname
:使用指定的私钥进行连接。
-
scp
: 通过SSH复制文件scp file_name user@remote_host:/path/to/destination
:将本地文件复制到远程主机。scp user@remote_host:/path/to/file /local/destination
:将远程文件复制到本地。
7. 压缩和解压缩
-
tar
: 打包和解压缩文件tar -cvf archive_name.tar /path/to/directory
:将目录打包为tar格式。tar -xvf archive_name.tar
:解压缩tar包。tar -czvf archive_name.tar.gz /path/to/directory
:压缩并打包为tar.gz格式。tar -xzvf archive_name.tar.gz
:解压缩tar.gz文件。
-
gzip
: 压缩文件gzip file_name
:压缩文件为file_name.gz
。gzip -d file_name.gz
:解压缩文件。
-
zip
: 压缩文件或目录zip archive_name.zip file_name
:压缩文件为zip格式。zip -r archive_name.zip /path/to/directory
:递归压缩目录。unzip archive_name.zip
:解压缩zip文件。
8. 系统信息查看
-
uname
: 显示系统信息uname -a
:显示所有系统信息。uname -r
:显示内核版本。
-
hostname
: 显示或设置系统的主机名hostname
:显示当前主机名。hostname new_name
:设置新主机名(需要root权限)。
-
uptime
: 显示系统运行时间及负载uptime
:显示系统启动时间、运行时长和平均负载。
-
free
: 显示内存使用情况free -h
:以人类可读的格式显示内存和交换分区的使用情况。
-
dmesg
: 显示内核日志dmesg
:查看系统启动后的内核日志信息。
9. 用户和组管理
-
adduser
/useradd
: 添加新用户adduser user_name
:添加新用户并自动创建主目录(推荐)。useradd user_name
:添加新用户(更底层的命令,需要手动创建主目录)。
-
passwd
: 修改用户密码passwd
:为当前用户修改密码。passwd user_name
:为指定用户修改密码(需root权限)。
-
su
: 切换用户su
:切换到root用户。su user_name
:切换到指定用户。
-
sudo
: 以超级用户身份执行命令sudo command
:以root权限执行命令。sudo -i
:以root身份登录交互式Shell。
10. 软件包管理
-
apt-get
: Debian系系统的包管理工具apt-get update
:更新包索引。apt-get upgrade
:升级所有已安装的包。apt-get install package_name
:安装新包。apt-get remove package_name
:删除已安装的包。
-
yum
: RedHat系系统的包管理工具yum update
:更新所有包。yum install package_name
:安装新包。yum remove package_name
:删除包。
11. 其他常用命令
-
echo
: 输出字符串或变量内容echo "Hello, World!"
:输出Hello, World!
。echo $PATH
:显示PATH
环境变量的内容。
-
date
: 显示或设置系统日期和时间date
:显示当前日期和时间。date -s "2024-09-01 12:34:56"
:设置系统日期和时间(需要root权限)。
-
alias
: 创建命令别名alias ll='ls -la'
:创建ll
命令,等同于ls -la
。
-
whoami
: 显示当前用户名称 -
history
: 显示历史命令history
:显示当前Shell会话中的历史命令。
-
man
: 查看命令手册man command_name
:查看某个命令的详细使用说明。