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/
:解压到指定目录