Linux基本指令
文章目录
- Linux基本指令
- 1. 基础五指令
- (1) whoami
- (2) who
- (3) pwd
- (4) ls
- (5) clear
- 2. 文件常见命令
- (1) touch
- (2) mkdir
- (3) cp
- (4) mv
- (5) rm
- (6) cd
- 3. 常见IO命令
- (1) cat
- (2) tac
- (3) head
- (4) tail
- (5) more
- (6) less
- 4. 拓展命令
- (1) man手册
- (2) which
- (3) file
- (4) date
- (5) cal
- (6) bc
- (7) uname
- (8) find
- (9) wc
- (10) grep
- (11) alias
- (12) top
- 5. 常见网络命令
- (1) ping
- (2) ifconfig
- (3) netstat
- 6. 常见压缩和解压缩命令
- (1) tar
- (2) zip
- (3) unzip
1. 基础五指令
(1) whoami
功能:显示当前用户的用户名。
语法:
whoami
常见用法:
whoami:显示当前用户名id -un:等同于 whoami
(2) who
功能::显示系统上当前登录的用户及其相关信息。
语法:
who
常见用法:
who:显示当前登录的所有用户who -H:显示带表头的用户信息who -b:显示上次系统启动时间who -r:显示当前运行级别
(3) pwd
功能:显示当前工作目录的完整路径。
语法:
pwd
常见用法:
pwd:显示当前工作目录pwd -P:显示物理路径(解析符号链接)pwd -L:显示逻辑路径(保留符号链接)
(4) ls
功能:列出目录中的文件和子目录。
语法:
ls [OPTION]... [FILE]
常见选项:(可以通过熟记英文单词的意思来记住选项)
-l:使用长格式列出文件详细信息-a/--all:显示所有文件,包括隐藏文件-h/--human-readable:以人类可读的格式显示文件大小-d/--directory:显示目录本身而不是其内容-R/--recursive:递归显示子目录的内容-t/--time:按修改时间排序-S/--size:按文件大小排序-r/--reverse:逆序显示结果-i/--inode:显示文件的inode号-F/--classify:在文件名后添加标识符(*/=@|)
常见用法:
ls -l/ll:长格式列表ls -la:显示所有文件(包括隐藏文件)的详细信息ls -lh:以人类可读格式显示文件大小ls -lt:按修改时间排序ls -lS:按文件大小排序
(5) clear
功能:清除终端屏幕上的所有内容,使终端看起来干净。
语法:
clear
常见用法:
clear:清屏Ctrl + L:等同于 clear 命令
2. 文件常见命令
(1) touch
功能1:用于创建新文件。
语法1:(文件不存在时)
touch filename
#filename可以是文件的相对路径和绝对路径,如果只有文件名,则默认在用户当前所处工作目录下创建
功能2:更新现有文件的时间戳。
语法2:(文件存在时)
touch [OPTION]... filenmae
#当文件存在时,touch不会创建文件,而是更新文件的时间信息
常见选项:
-a/--time=access:仅更新文件的访问时间为当前时间(不修改文件的修改时间)-m/--time=modify:仅更新文件的修改时间为当前时间(不修改文件的访问时间)-t:使用指定的时间戳格式更新文件的时间。时间格式为:[[CC]YY]MMDDhhmm[.ss],CC表示世纪,YY表示年份,MM表示月份,DD表示日期,hh表示小时,mm表示分钟,ss表示秒-c/--no-create:如果文件不存在,则不创建新文件。只有在文件存在时才会更新其时间戳-r/--reference=FILE:使用另一个文件的时间戳来更新目标文件的时间戳。即将目标文件的时间戳设置为参考文件的时间戳。即使用-r后面的第一个文件或者–reference=后的FILE文件去更新第二个文件的时间戳-d/--date=string:使用-d后指定的字符串或者–date=后的string日期字符串来设置文件的时间戳。日期字符串可以是 date 命令支持的任何格式
常见用法:
touch file.txt:创建新文件或更新时间戳touch -a file.txt:只更新访问时间touch -m file.txt:只更新修改时间touch -r file1 file2:将file2的时间戳设置为与file1相同
(2) mkdir
功能:创建目录。
语法:
mkdir [OPTION]... dirname
常见选项:
-p/--parents:创建目录及其父目录。如果指定的父目录不存在,将一并创建。-m/--mode:设置新创建目录的权限模式。-v/--verbose:在创建目录时显示详细信息。
常见用法:
mkdir dir:创建单个目录mkdir -p a/b/c:创建多级目录mkdir -m 755 dir:创建目录并设置权限mkdir dir1 dir2 dir3:同时创建多个目录
(3) cp
功能:复制文件和目录。
语法:
cp [OPTION]... srcfilename1 desfilename2
常见选项:
-r/--recursive:递归复制目录及其内容-f/--force:强制复制,覆盖已存在的目标文件而不提示-i/--interactive:交互式复制,覆盖前提示-p:保留源文件的属性-a/--archive:等同于-dR --preserve=all,保留所有属性并递归复制-l/--link:创建硬链接而不是复制文件-s/--symbolic-link:创建符号链接而不是复制文件-u/--update:仅在源文件比目标文件新或目标文件不存在时才覆盖目标文件。
常见用法:
cp file1 file2:复制文件cp -r dir1 dir2:复制目录cp -p file1 file2:保留文件属性复制cp -i file1 file2:交互式复制
(4) mv
功能1:移动文件或目录。
语法1:
mv [OPTION]... filename1 filename2
#filename1是源文件,filename2是目标文件
功能2:重命名文件或目录。
语法2:
mv [OPTION]... filename1 filename2
#filename1是源文件,filename2是目标文件
常见选项:
-i/--interactive:在覆盖文件时提示用户确认,用于防止意外覆盖已有文件。-f/--force:强制移动文件或目录,覆盖目标位置的文件而不提示。-u/--update:仅当源文件比目标文件新时才移动文件,适用于同步操作。-v/--verbose:显示详细信息,列出正在移动或重命名的文件或目录。-n/--no-clobber:不覆盖目标位置的文件,如果目标位置已有同名文件,则不执行操作。-b/--backup:备份目标文件,按照备份策略备份目标文件。
常见用法:
mv file1 file2:重命名文件mv file dir/:移动文件到目录mv -i file1 file2:交互式移动mv dir1/* dir2/:移动目录下所有内容
(5) rm
功能:删除文件或目录。
语法:
rm [OPTION]... filename
常见选项:
-f/--force:强制删除文件,不会显示警告或提示,即使文件没有写权限或不存在也不会报错。-i/--interactive:逐个确认删除操作。每个要删除的文件都需要用户确认,防止误删除。-r/-R/--recursive:递归删除目录及其所有子目录和文件。用于删除目录时非常有用。-v/--verbose:详细模式,显示每个被删除的文件或目录,提供删除过程的详细信息。
常见用法:
rm file:删除文件rm -r dir:删除目录及其内容rm -f file:强制删除文件rm -i file:交互式删除
(6) cd
功能:改变当前工作目录。
语法:
cd [目录路径]
目录路径:
绝对路径:从根目录开始的完整路径。例如,/home/user/documents。相对路径:相对于当前目录的路径。例如,../anotherdir。
常见选项和特殊用法:
cd(无参数):返回到当前用户的主目录,通常是/home/username。cd -:切换到之前的目录。这对于在两个目录之间来回切换非常有用。cd ~:切换到当前用户的主目录,~是当前用户主目录的快捷表示。cd .:切换到当前目录。cd ..:切换到当前目录的上级目录。cd /:切换到根目录。
常见用法:
cd:返回主目录cd -:返回上一个目录cd ..:返回上级目录cd ~/Documents:切换到指定目录
3. 常见IO命令
(1) cat
功能:连接文件并打印到标准输出。可以用来显示文件内容、创建文件、文件合并等。
语法:
cat [OPTION]... [FILE]...
常见选项:
-n/--number:对输出的所有行进行编号-b/--number-nonblank:只对非空行编号-s/--squeeze-blank:将多个连续的空行压缩为一个空行-A/--show-all:显示所有字符(包括控制字符)-E/--show-ends:在每行结尾显示 $ 符号-T/--show-tabs:将 TAB 字符显示为 ^I
常见用法:
cat file:显示文件内容cat -n file:显示行号cat file1 file2:连接显示多个文件cat > file:创建新文件并输入内容
(2) tac
功能:与 cat 命令相反,从最后一行开始按行反向显示文件内容。
语法:
tac [OPTION]... [FILE]...
常见选项:
-b/--before:在分隔符之前而不是之后连接-r/--regex:将分隔符解释为正则表达式-s/--separator=STRING:使用指定字符串作为分隔符(默认为换行符)
常见用法:
tac file:反向显示文件内容tac file1 file2:反向连接显示多个文件tac -r -s 'x' file:使用x作为分隔符反向显示
(3) head
功能:输出文件的开头部分。
语法:
head [OPTION]... [FILE]...
常见选项:
-n/--lines N:显示前 N 行(默认为 10 行)-c/--bytes N:显示前 N 个字节-q/--quiet:不显示文件名头-v/--verbose:总是显示文件名头
常见用法:
head file:显示前10行head -n 5 file:显示前5行head -c 20 file:显示前20个字节head -n -5 file:显示除最后5行外的所有行
(4) tail
功能:输出文件的末尾部分。
语法:
tail [OPTION]... [FILE]...
常见选项:
-n/--lines N:显示最后 N 行(默认为 10 行)-c/--bytes N:显示最后 N 个字节-f/--follow:实时监控文件内容变化-q/--quiet:不显示文件名头-v/--verbose:总是显示文件名头
常见用法:
tail file:显示最后10行tail -n 5 file:显示最后5行tail -f file:实时监控文件变化tail -n +5 file:从第5行开始显示
(5) more
功能:分页显示文件内容。
语法:
more [OPTION]... [FILE]...
常见选项:
-d/--display-help:显示帮助信息而非响应-f/--logical:计算实际行数(用于管道)-p/--clean-print:清除屏幕后再显示内容-s/--squeeze:将多个空行压缩成一个空行-u/--plain:禁止下划线
常用交互命令:
空格键:向下滚动一屏回车键:向下滚动一行b:向上滚动一屏q:退出
常见用法:
more file:分页显示文件内容more +5 file:从第5行开始显示more -5 file:设置每页显示5行ls -l | more:分页显示目录列表
(6) less
功能:比 more 更强大的分页器,支持前后翻页和搜索。
语法:
less [OPTION]... [FILE]...
常见选项:
-N/--LINE-NUMBERS:显示行号-i/--ignore-case:搜索时忽略大小写-g/--hilite-search:只高亮显示最后一个搜索匹配-s/--squeeze-blank-lines:将多个空行压缩成一个空行-F/--quit-if-one-screen:如果内容少于一屏,则直接退出
常用交互命令:
空格键:向下滚动一屏b:向上滚动一屏/pattern:向下搜索 pattern?pattern:向上搜索 patternn:重复上一个搜索N:反向重复上一个搜索q:退出g:跳转到文件开头G:跳转到文件末尾
常见用法:
less file:分页查看文件less -N file:显示行号less +F file:实时查看文件变化less -S file:不折行显示
4. 拓展命令
(1) man手册
语法:
man 手册编号 指令/函数
手册编号:
- 1)可执行程序或shell命令。
- 2)系统调用(内核提供的函数)。
- 3)库函数(程序库中的函数)。
- 4)特殊文件(通常在/dev中找到)。
- 5)文件格式和约定,如/etc/passwd。
- 6)游戏。
- 7)杂项。
- 8)系统管理命令(通常仅限于root用户)。
常见用法:
man ls:查看ls命令的手册man 2 write:查看write系统调用的手册man -k keyword:搜索相关命令man -f command:显示命令的简短描述
(2) which
功能:查找可执行文件的位置。
语法:
which [OPTION]... COMMAND...
常见选项:
-a:列出所有匹配的可执行文件,而不是仅显示第一个-s/--silent:不输出任何信息,仅返回退出状态码
常见用法:
which ls:显示ls命令的路径which -a python:显示所有匹配的python命令路径which bash:显示bash的路径which java javac:同时查找多个命令
(3) file
功能:确定文件类型。
语法:
file [OPTION]... FILE...
常见选项:
-b/--brief:简短模式,不显示文件名-i/--mime:显示MIME类型-z:查看压缩文件的内容类型
常见用法:
file filename:显示文件类型file -i filename:显示MIME类型file *:显示当前目录所有文件的类型file -b filename:只显示类型,不显示文件名
(4) date
功能:显示或设置系统日期和时间。
语法:
date [OPTION]... [+FORMAT]
常见选项:
+%Y:显示年份(如:2024)+%m:显示月份(01-12)+%d:显示日期(01-31)+%H:显示小时(00-23)+%M:显示分钟(00-59)+%S:显示秒数(00-59)
常见用法:
date:显示当前日期和时间date "+%Y-%m-%d":显示格式化的日期date "+%H:%M:%S":显示格式化的时间date -d "1 day ago":显示昨天的日期
(5) cal
功能:显示日历。
语法:
cal [OPTION]... [[[day] month] year]
常见选项:
-1/--one:只显示当前月份-3:显示上个月、当前月和下个月-y/--year:显示整年的日历-j/--julian:显示儒略日
常见用法:
cal:显示当月日历cal 2024:显示指定年份的日历cal 12 2024:显示指定年月的日历cal -3:显示上月、当月和下月的日历
(6) bc
功能:命令行计算器。
语法:
bc [OPTION]... [FILE]...
常见选项:
-l:使用标准数学库-q:不显示欢迎信息-w:显示警告信息
常见用法:
bc:启动计算器echo "1+1" | bc:直接计算表达式bc -l:使用数学库进行计算echo "scale=2; 1/3" | bc:设置小数位数
(7) uname
功能:显示系统信息。
语法:
uname [OPTION]...
常见选项:
-a/--all:显示所有信息-s/--kernel-name:显示内核名称-n/--nodename:显示网络主机名-r/--kernel-release:显示内核版本-m/--machine:显示机器硬件名称
常见用法:
uname -a:显示所有系统信息uname -r:显示内核版本uname -m:显示机器硬件名uname -n:显示主机名
(8) find
功能:在目录层次结构中搜索文件。
语法:
find [PATH] [OPTION]... [EXPRESSION]
常见选项:
-name pattern:按名称搜索-type type:按类型搜索(f:文件,d:目录)-size n:按大小搜索-mtime n:按修改时间搜索-exec command:对搜索结果执行命令
常见用法:
find . -name "*.txt":查找txt文件find . -type d:只查找目录find . -mtime -7:查找7天内修改的文件find . -size +100M:查找大于100MB的文件
(9) wc
功能:统计文件的行数、字数和字节数。
语法:
wc [OPTION]... [FILE]...
常见选项:
-l/--lines:只统计行数-w/--words:只统计字数-c/--bytes:只统计字节数-m/--chars:只统计字符数
常见用法:
wc file:显示行数、字数和字节数wc -l file:只显示行数wc -w file:只显示字数ls | wc -l:统计文件数量
(10) grep
功能:搜索文件中的文本内容。
语法:
grep [OPTION]... PATTERN [FILE]...
常见选项:
-i/--ignore-case:忽略大小写-n/--line-number:显示行号-r/--recursive:递归搜索目录-v/--invert-match:显示不匹配的行-E:使用扩展正则表达式
常见用法:
grep "pattern" file:搜索文件中的模式grep -i "pattern" file:忽略大小写搜索grep -r "pattern" dir/:递归搜索目录grep -v "pattern" file:显示不匹配的行
(11) alias
功能:设置命令别名。
语法:
alias [NAME[=VALUE]]...
常见用法:
alias:显示所有别名alias name='command':创建新别名unalias name:删除别名
(12) top
功能:显示系统中正在运行的进程。
语法:
top [OPTION]...
常见选项:
-d:指定刷新间隔(秒)-n N:指定运行的次数,运行 N 次后退出-b:批处理模式,不显示头部信息-u:显示用户进程-p:指定进程ID-s:显示累计信息-S:显示进程状态-q:安静模式,不显示头部信息-c:显示完整的命令行而不是进程名-x:显示进程树
常见用法:
top:显示系统进程top -u username:显示特定用户的进程top -p pid:监控特定进程top -b -n 1:批处理模式运行一次
5. 常见网络命令
(1) ping
功能:测试网络连接和主机可达性。
语法:
ping [OPTION]... DESTINATION
常见选项:
-c count:指定发送的数据包数量-i interval:指定发送数据包的时间间隔(秒)-s packetsize:指定发送数据包的大小-t ttl:设置 TTL(生存时间)值-W timeout:等待响应的超时时间(秒)
常见用法:
ping google.com:持续pingping -c 4 google.com:ping 4次ping -i 2 google.com:每2秒ping一次ping -w 5 google.com:最多ping 5秒
(2) ifconfig
功能:配置或显示网络接口信息。
语法:
ifconfig [interface] [options]
常见选项:
up:激活接口down:关闭接口netmask addr:设置网络掩码broadcast addr:设置广播地址-a:显示所有接口信息,即使已关闭
常见用法:
ifconfig:显示所有网络接口ifconfig eth0:显示特定接口信息ifconfig eth0 up:启用接口ifconfig eth0 down:禁用接口
(3) netstat
功能:显示网络连接、路由表和网络接口统计信息。
语法:
netstat [OPTION]...
常见选项:
-a/--all:显示所有连接和监听端口-t/--tcp:显示 TCP 连接-u/--udp:显示 UDP 连接-n/--numeric:显示数字地址而不是主机名-p/--programs:显示进程 ID 和程序名-r/--route:显示路由表-i/--interfaces:显示网络接口
常见用法:
netstat -tuln:显示所有监听端口netstat -anp:显示所有连接和进程netstat -r:显示路由表netstat -i:显示网络接口状态
6. 常见压缩和解压缩命令
(1) tar
功能:打包和解包文件。
语法:
tar [OPTION]... [FILE]...
常见选项:
-c:创建新的归档文件-x:从归档文件中提取文件-f:指定归档文件名-v:显示详细信息-z:使用 gzip 压缩-j:使用 bzip2 压缩-t:列出归档文件的内容
常见用法:
tar -cvf archive.tar files/:创建归档tar -xvf archive.tar:解压归档tar -czvf archive.tar.gz files/:创建压缩归档tar -xzvf archive.tar.gz:解压压缩归档
(2) zip
功能:压缩文件。
语法:
zip [OPTION]... [zipfile [file...]]
常见选项:
-r:递归压缩目录-m:压缩后删除原文件-q:安静模式,不显示压缩过程-v:显示详细信息-P password:设置密码保护-u:更新压缩文件中的内容
常见用法:
zip archive.zip file1 file2:压缩文件zip -r archive.zip dir/:压缩目录zip -P password archive.zip file:加密压缩zip -u archive.zip file:更新压缩文件
(3) unzip
功能:解压缩 zip 文件。
语法:
unzip [OPTION]... [file[.zip] [file...]]
常见选项:
-l:列出压缩文件内容而不解压-P password:指定解压密码-d dir:指定解压目录-q:安静模式-v:显示详细信息-o:覆盖已存在的文件-n:不覆盖已存在的文件
常见用法:
unzip archive.zip:解压文件unzip -l archive.zip:列出压缩文件内容unzip -P password archive.zip:解压加密文件unzip archive.zip -d dir/:解压到指定目录