当前位置: 首页 > article >正文

Linux——Linux基础指令

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:向上搜索 pattern
  • n:重复上一个搜索
  • 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:持续ping
  • ping -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/:解压到指定目录

http://www.kler.cn/a/381241.html

相关文章:

  • 安装fast_bev环境
  • C#在自定义事件里传递数据
  • 【分享-POI工具,Excel字段取值容错小工具】
  • 基于DockerCompose搭建Redis主从哨兵模式
  • Element@2.15.14-tree checkStrictly 状态实现父项联动子项,实现节点自定义编辑、新增、删除功能
  • OpenCV putText增加中文支持
  • 在 Spring Boot 中使用分布式事务时,如何处理不同数据源之间的事务一致性问题?
  • Java实战项目-基于SpringBoot的新能源汽车个性化推荐系统
  • Linux 经典面试八股文
  • ICT网络赛道WLAN考点知识总结1
  • 多模态大模型微调实践!PAI+LLaMA Factory搭建AI导游
  • 无人机的就业前景怎么样?
  • 基于Multisim光控夜灯LED电路(含仿真和报告)
  • 大数据-207 数据挖掘 机器学习理论 - 多重共线性 矩阵满秩 线性回归算法
  • 【JavaEE初阶 — 多线程】线程安全问题 & synchronized
  • Imperva 数据库与安全解决方案
  • SE-ResUNet论文学习笔记
  • 机器视觉:轮廓匹配算法原理
  • dpdk mempool驱动开发
  • Django学习-项目部署
  • 在Swift开发中简化应用程序发布与权限管理的解决方案——SparkleEasy
  • Claude 3.5 Sonnet模型新增了PDF支持功能
  • Linux中sysctl、systemctl、systemd、init的区别
  • 第6章 Linux软件包企业实战
  • 大模型开发中将企业数据发送给Open AI是否有安全风险?
  • 跨平台Flutter 、ReactNative 开发原理