目录
一、概述
本文汇总了Linux系统中常用的基本命令,主要分为五大类:1)文件和目录操作命令(如ls、cd、mkdir等);2)文件查看和编辑命令(如cat、less、vi等);3)系统信息和管理命令(如top、ps、df等);4)权限管理命令(如chmod、chown等);5)查找搜索命令(如find、grep等)。文章详细介绍了每个命令的功能、常用选项和使用示例,涵盖了Linux系统日常操作的大部分需求。掌握这些命令可以帮助用户高效地进行文件管理、系统监控和日常维护工作。
二、文件和目录操作
1. ls
(列出目录内容)
-
功能:列出当前目录或指定目录中的文件和文件夹。
-
常用选项:
-
-l
:以长格式显示文件和目录的详细信息,包括权限、所有者、大小等。 -
-a
:显示所有文件和目录,包括隐藏文件(以.
开头的文件)。 -
-h
:以易读的格式显示文件大小(如K
、M
、G
)。 -
-t
:按修改时间排序,最近修改的文件或目录排在前面。
-
-
示例
ls -l ls -la
2. cd
(切换目录)
-
功能:切换到指定的目录。
-
用法:
-
cd 目录路径
:切换到指定路径的目录。 -
cd
:切换到用户的主目录(/home/用户名
)。 -
cd ..
:切换到当前目录的上一级目录。 -
cd -
:切换到上一次所在的目录。
-
-
示例
cd /home/user/documents
3. pwd
(显示当前工作目录)
-
功能:显示当前所在的目录路径。
-
示例
pwd
4. mkdir
(创建目录)
-
功能:创建一个新的目录。
-
常用选项:
-
-p
:递归创建目录,即如果父目录不存在,则会一并创建。
-
-
示例
mkdir new_folder mkdir -p parent_folder/child_folder
5. rm
(删除文件或目录)
-
功能:删除文件或目录。
-
常用选项:
-
-f
:强制删除,不提示确认。 -
-r
:递归删除目录及其内容。 -
-i
:交互式删除,删除前提示确认。
-
-
示例
rm file.txt rm -rf folder
6. cp
(复制文件或目录)
-
功能:将文件或目录从一个位置复制到另一个位置。
-
常用选项:
-
-r
:递归复制目录及其内容。 -
-i
:交互式复制,目标文件已存在时提示确认。 -
-a
:归档模式,保留文件的权限、属性等。
-
-
示例
cp file.txt /home/user/documents cp -r folder /home/user/documents
7. mv
(移动或重命名文件或目录)
-
功能:移动文件或目录到另一个位置,也可以用于重命名文件或目录。
-
示例
mv file.txt /home/user/documents mv old_name.txt new_name.txt
8. touch
(创建空文件或更新文件时间戳)
-
功能:创建一个空文件,或者更新文件的时间戳。
-
示例
touch new_file.txt touch -m file.txt
9. tree
(以树状图显示目录结构)
-
功能:以树状图的形式显示目录结构。
-
示例
tree .
三、文件查看和编辑
1. cat
(查看文件内容)
-
功能:将文件内容输出到终端。
-
示例
cat file.txt
2. less
(分页查看文件内容)
-
功能:以分页的方式查看文件内容,适合大文件。
-
操作:
-
按
空格键
:向下翻页。 -
按
b
键:向上翻页。 -
按
/
键:搜索指定内容。 -
按
q
键:退出。
-
-
示例
less file.txt
3. head
(查看文件开头内容)
-
功能:默认显示文件的前10行内容。
-
常用选项:
-
-n
:指定显示的行数。
-
-
示例
head file.txt head -n 5 file.txt
4. tail
(查看文件结尾内容)
-
功能:默认显示文件的最后10行内容。
-
常用选项:
-
-n
:指定显示的行数。 -
-f
:动态显示文件的新增内容,常用于查看日志文件。
-
-
示例
tail file.txt tail -n 5 file.txt tail -f log.txt
5. nano
(简单文本编辑器)
-
功能:一个简单易用的文本编辑器,适合初学者。
-
操作:
-
按
Ctrl + O
:保存文件。 -
按
Ctrl + X
:退出编辑器。
-
-
示例
nano file.txt
6. vim
(高级文本编辑器)
-
功能:功能强大的文本编辑器,适合高级用户。
-
操作:
-
按
i
键:进入插入模式,可以编辑文件。 -
按
Esc
键:退出插入模式,回到普通模式。 -
按
:wq
:保存并退出。 -
按
:q!
:不保存退出。
-
-
示例
vim file.txt
四、系统信息和管理
1. whoami
(显示当前用户)
-
功能:显示当前登录的用户名。
-
示例
whoami
2. who
(显示登录用户信息)
-
功能:显示当前登录的用户及其登录时间等信息。
-
示例
who
3. date
(显示或设置日期和时间)
-
功能:显示当前的日期和时间,也可以用于设置系统时间(需要管理员权限),如果需要自定义
date
命令的输出格式,可以使用+
选项。 -
示例
date date "+%Y-%m-%d %H:%M:%S"
4. cal
(显示日历)
-
功能:显示当前月份的日历,也可以指定年份和月份。
-
示例
cal cal 2023 cal 8 2023
5. df
(显示磁盘空间使用情况)
-
功能:显示文件系统的磁盘空间使用情况。
-
常用选项:
-
-h
:以易读的格式显示磁盘空间大小(如K
、M
、G
)。
-
-
示例
df -h
6. du
(显示文件或目录的磁盘占用空间)
-
功能:显示文件或目录占用的磁盘空间大小。
-
常用选项:
-
-h
:以易读的格式显示大小。 -
-s
:显示总大小,不显示子目录或文件的大小。
-
-
示例
du -h folder du -sh folder
7. top
(显示系统进程信息)
-
功能:动态显示系统中占用资源最多的进程。
-
操作:
-
按
q
键:退出top
界面。
-
-
示例
top
8. ps
(显示进程信息)
-
功能:显示当前的进程信息。
-
常用选项:
-
-e
:显示所有进程。 -
-f
:显示完整的进程信息,包括用户、开始时间等。 -
-aux
:显示所有用户的进程,包括详细信息。
-
-
示例
ps -ef ps aux
9. kill
(终止进程)
-
功能:根据进程ID终止进程。
-
常用选项:
-
-9
:强制终止进程。
-
-
示例
kill 1234 kill -9 1234
10. ping
(测试网络连接)
-
功能:发送ICMP回显请求,用于测试网络连接是否正常。
-
示例
ping 8.8.8.8 ping -c 4 8.8.8.8
11. netstat
(显示网络连接信息)
-
功能:显示网络连接、路由表、接口统计等信息。
-
常用选项:
-
-t
:显示TCP连接。 -
-u
:显示UDP连接。 -
-a
:显示所有连接。 -
-n
:以数字形式显示IP地址和端口号。
-
-
示例
netstat -tun
12. ifconfig
(显示网络接口配置信息)
-
功能:显示或配置网络接口的IP地址、子网掩码等信息。
-
示例
ifconfig
13. hostname
(显示或设置主机名)
-
功能:显示当前主机名,也可以用于设置主机名(需要管理员权限)。
-
示例
hostname hostname new_hostname
14. uptime
(显示系统运行时间)
-
功能:显示系统运行时间、当前时间、负载平均值等信息。
-
示例
uptime
15. free
(显示内存使用情况)
-
功能:显示系统的内存使用情况,包括物理内存和交换空间。
-
常用选项:
-
-h
:以易读的格式显示内存大小(如K
、M
、G
)。
-
-
示例
free -h
16. lsof
(列出打开的文件)
-
功能:列出当前系统中打开的文件及其相关信息。
-
示例
lsof lsof -i :80
五、权限管理
1. chmod
(修改文件或目录的权限)
-
功能:修改文件或目录的权限。
-
权限表示:
-
r
:读权限(4)。 -
w
:写权限(2)。 -
x
:执行权限(1)。 -
权限值计算:
rwx
表示4+2+1=7
,rw-
表示4+2+0=6
。
-
-
常用选项:
-
u
:用户(owner)。 -
g
:组(group)。 -
o
:其他用户(others)。 -
a
:所有用户(all)。
-
-
示例
chmod 755 file.txt chmod u+x file.txt chmod -R 755 folder
2. chown
(修改文件或目录的所有者)
-
功能:修改文件或目录的所有者和所属组。
-
示例
chown user file.txt chown user:group file.txt chown -R user folder
3. su
(切换用户)
-
功能:切换到其他用户,通常用于切换到超级用户(
root
)。 -
示例
su su - user
4. sudo
(以超级用户权限执行命令)
-
功能:以超级用户(
root
)的权限执行指定的命令。 -
示例
sudo apt update sudo systemctl restart service_name
六、查找和搜索
1. find
(查找文件或目录)
-
功能:在指定目录及其子目录中查找符合条件的文件或目录。
-
常用选项:
-
-name
:按文件名查找。 -
-type
:按文件类型查找(d
表示目录,f
表示文件)。 -
-mtime
:按修改时间查找。 -
-exec
:对找到的文件执行指定的命令。
-
-
示例
find /home -name "*.txt" find . -type d find . -mtime -1 find . -name "*.txt" -exec rm {} \;
2. grep
(搜索文本内容)
-
功能:在文件中搜索指定的文本内容。
-
常用选项:
-
-i
:忽略大小写。 -
-r
:递归搜索目录中的文件。 -
-n
:显示匹配行的行号。
-
-
示例
grep "hello" file.txt grep -i "hello" file.txt grep -r "hello" /home/user/documents
3. whereis
(查找程序、源代码和手册页)
-
功能:查找程序、源代码和手册页的位置。
-
示例
whereis ls
4. which
(查找命令的路径)
-
功能:查找命令的完整路径。
-
示例
which ls
5. locate
(快速查找文件)
-
功能:通过预先建立的数据库快速查找文件。
-
示例
locate file.txt
七、系统维护和管理
1. systemctl
(管理系统服务)
-
功能:用于管理系统服务的启动、停止、重启和状态查询。
-
示例
systemctl start service_name systemctl stop service_name systemctl restart service_name systemctl status service_name
2. shutdown
(关机或重启系统)
-
功能:关闭或重启系统。
-
常用选项:
-
-h
:关机。 -
-r
:重启。 -
-c
:取消关机或重启操作。 -
-t
:指定关机或重启的延迟时间(单位为秒)。
-
-
示例
shutdown -h now shutdown -r now shutdown -c
3. reboot
(重启系统)
-
功能:重启系统。
-
示例
reboot
4. apt
(包管理工具)
-
功能:用于安装、更新和管理软件包。
-
示例
apt update apt upgrade apt install package_name apt remove package_name
5. yum
(包管理工具)
-
功能:用于安装、更新和管理软件包(适用于Red Hat系列Linux)。
-
示例
yum update yum install package_name yum remove package_name
6. lrzsz(文件传输工具)
-
rz功能(上传文件到远程服务器)
-
示例
rz
-
这将弹出一个文件选择对话框,允许你选择本地计算机上的文件进行上传。选择文件后,文件将被上传到当前目录。
-
sz功能(从远程服务器下载文件到本地)
-
示例
sz 文件名
7. tar
(归档和压缩文件)
-
功能:用于创建、解压和管理归档文件。
-
常用选项:
-
-c
:创建归档文件。 -
-x
:解压归档文件。 -
-z
:使用gzip压缩。 -
-j
:使用bzip2压缩。 -
-v
:显示详细信息。 -
-f
:指定归档文件名。
-
-
示例
tar -czvf archive.tar.gz folder tar -xzvf archive.tar.gz
8. gzip
(压缩文件)
-
功能:使用gzip算法压缩文件。
-
示例
gzip file.txt gunzip file.txt.gz
9. bzip2
(压缩文件)
-
功能:使用bzip2算法压缩文件。
-
示例
bzip2 file.txt bunzip2 file.txt.bz2
10. zip
(压缩文件)
-
功能:使用zip算法压缩文件。
-
示例
zip archive.zip file1.txt file2.txt unzip archive.zip
11. crontab
(设置计划任务)
-
功能:用于设置定时任务,定期执行指定的命令或脚本。
-
示例
crontab -e
八、其他实用命令
1. history
(查看命令历史)
-
功能:查看最近执行过的命令。
-
示例
history
2. clear
(清屏)
-
功能:清除终端屏幕的内容。
-
示例
clear
3. echo
(输出文本内容)
-
功能:将文本内容输出到终端或写入文件。
-
示例
echo "Hello, World!" echo "Hello, World!" > file.txt echo "Hello, World!" >> file.txt
4. man
(查看命令手册)
-
功能:查看命令的手册页,获取命令的详细用法和选项。
-
示例
man ls man -k keyword
5. type
(显示命令的类型)
-
功能:显示命令的类型,例如是内置命令、可执行文件还是别名。
-
示例
type ls
6. alias
(设置命令别名)
-
功能:为命令设置别名,方便快速使用。
-
示例
alias ll='ls -l' alias grep='grep --color=auto'
7. jobs
(显示后台作业)
-
功能:显示当前用户在后台运行的作业。
-
示例
jobs
8. bg
(将作业放到后台运行)
-
功能:将暂停的作业放到后台继续运行。
-
示例
bg %1
9. fg
(将作业放到前台运行)
-
功能:将后台作业放到前台运行。
-
示例
fg %1
10. killall
(按名称终止进程)
-
功能:按进程名称终止所有匹配的进程。
-
示例
killall process_name
11. pkill
(按名称终止进程)
-
功能:按进程名称终止进程,支持正则表达式匹配。
-
示例
pkill process_name
12. pgrep
(按名称查找进程)
-
功能:按进程名称查找进程ID。
-
示例
pgrep process_name
13. nice
(设置进程优先级)
-
功能:设置进程的优先级,优先级越低,进程越优先运行。
-
示例
nice -n 10 command
14. renice
(更改进程优先级)
-
功能:更改正在运行的进程的优先级。
-
示例
renice -n 10 -p 1234
15. at
(在指定时间运行命令)
-
功能:在指定时间运行命令或脚本。
-
示例
at 10:00
16. batch
(在系统负载较低时运行命令)
-
功能:在系统负载较低时运行命令或脚本。
-
示例
batch
17. time
(测量命令的执行时间)
-
功能:测量命令的执行时间。
-
示例
time command
18. script
(记录终端会话)
-
功能:记录终端会话的所有输入和输出。
-
示例
script session.log
19. scp
(安全复制文件)
-
功能:通过SSH协议安全地复制文件到远程主机或从远程主机复制文件。
-
示例
scp file.txt user@remote_host:/path/to/destination scp user@remote_host:/path/to/source/file.txt .
20. ssh
(安全登录远程主机)
-
功能:通过SSH协议安全地登录到远程主机。
-
示例
ssh user@remote_host
21. rsync
(同步文件和目录)
-
功能:用于同步文件和目录,支持本地同步和远程同步。
-
示例
rsync -av source/ destination/ rsync -av source/ user@remote_host:/path/to/destination
九、总结
以上是Linux中一些常见的基本指令,掌握这些命令可以帮助你在Linux系统中进行日常操作和管理。当然,Linux命令的功能非常强大,还有很多高级用法和组合技巧。建议你在实践中多尝试、多练习,逐步熟悉Linux的使用方法。
如果你对某个命令有疑问,可以使用man
命令查看其详细的手册页
man ls