Linux基础命令

ls命令

功能:列出文件夹信息
语法:ls [-l -h -a] [参数]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
  • -l,以列表形式查看
  • -h,配合-l,以更加人性化的方式显示文件大小
  • -a,显示隐藏文件

pwd命令

功能:展示当前工作目录
语法:pwd

cd命令

功能:切换工作目录
语法:cd [目标目录]
参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名
  • root用户的HOME目录,在:/root

相对路径、绝对路径

  • 相对路径,非/开头的称之为相对路径。相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件。
  • 绝对路径,以/开头的称之为绝对路径。绝对路径从开始描述路径。

特殊路径符

  • .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
  • ..,表示上级目录,比如../表示上级目录,../../表示上级的上级目录
  • ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

mkdir命令

功能:创建文件夹
语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径
  • 选项:-p,可选,表示创建前置路径

touch命令

功能:创建文件
语法:touch 参数

  • 参数:被创建的文件路径

cat命令

功能:查看文件内容
语法:cat 参数

  • 参数:被查看的文件路径

more命令

功能:查看文件,可以支持翻页查看
语法:more 参数

  • 参数:被查看的文件路径
  • 在查看过程中:
    • 空格键翻页
    • q退出查看

cp命令

功能:复制文件、文件夹
语法:cp [-r] 参数1 参数2

  • 参数1,被复制的
  • 参数2,要复制去的地方
  • 选项:-r,可选,复制文件夹使用
1
2
3
cp a.txt b.txt #复制当前目录下a.txt为b.txt
cp a.txt test/ #复制当前目录a.txt到test文件夹内
cp -r test test2 #复制文件夹test到当前文件夹内为test2存在

mv命令

功能:移动文件、文件夹
语法:mv 参数1 参数2

  • 参数1:被移动的
  • 参数2:要移动去的地方,参数2如果为文件名,则会进行改名

rm命令

功能:删除文件、文件夹
语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用
  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

rm命令很危险,一定要注意,特别是切换到root用户的时候。

which命令

功能:查看命令的程序本体文件路径
语法:which 参数

  • 参数:被查看的命令

find命令

功能:搜索文件
语法1按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径
  • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件

grep命令

功能:过滤关键字,它允许你在文件中搜索指定的模式(pattern),并打印出匹配该模式的行。
语法:grep [-参数] "关键字" 文件路径/文件名

  • 选项 -参数,可选。
    • 使用-i选项可以使grep在搜索时忽略大小写
    • 使用-n选项可以显示匹配行的行号
    • 使用-o选项可以只显示匹配的部分,而不是整行
    • 使用-r-R选项可以递归地在目录及其子目录中搜索文件
    • 使用--exclude选项可以排除某些文件或目录
    • 使用-e选项可以指定多个模式
    • 使用-c选项可以统计匹配的行数,而不是显示匹配的行
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

参数文件路径,可以作为管道符的输入

1
2
3
4
grep "关键字" 文件名 # 搜索当前目录下的单个文件中含有关键字的行
grep "关键字" 文件名 文件名 # 搜索当前目录下的多个文件中含有关键字的行
grep "正则表达式" 文件名 # 搜索当前目录下的单个文件中符合正则表达式的行

wc命令

功能:统计
语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

参数文件路径,可作为管道符的输入

管道符|

写法:|
功能:将符号左边的结果,作为符号右边的输入
示例:
cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字
可以支持嵌套:
cat a.txt | grep itheima | grep itcast

echo命令

功能:输出内容
语法:echo 参数

  • 参数:被输出的内容
  • echo $变量 输出变量的值

`反引号

功能:被两个反引号包围的内容,会作为命令执行
示例:

  • echo `pwd`,会输出当前工作目录

tail命令

功能:查看文件尾部内容
语法:tail [-f] 参数

  • 参数:被查看的文件
  • 选项:-f,持续跟踪文件修改

head命令

功能:查看文件头部内容
语法:head [-n] 参数

  • 参数:被查看的文件
  • 选项:-n,查看的行数

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出

vim编辑器

查看命令的帮助

可以通过:命令 --help查看命令的帮助手册

查看命令的详细手册

可以通过:man 命令查看某命令的详细手册

软件安装

  • Ubuntu系统使用
    • apt [install remove search] [-y] 软件名称
      • install 安装
      • remove 卸载
      • search 搜索
      • -y,自动确认

yum 和 apt 均需要root权限

systemctl

功能:控制系统服务的启动关闭等
语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start 启动
  • stop 停止
  • status 查看状态
  • disable 关闭开机自启
  • enable 开启开机自启
  • restart 重启

符号链接

功能:创建文件、文件夹的符号链接
语法:ln -s 参数1 参数2

  • -s: 软链接,不用-s表示硬链接
  • 参数1:被链接的
  • 参数2:要链接去的地方

日期

语法:date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
    • %Y 年%y 年份后两位数字 (00…99)
    • %m 月份 (01…12)
    • %d 日 (01…31)
    • %H 小时 (00…23)
    • %M 分钟 (00…59)
    • %S 秒 (00…60)
    • %s 自 1970-01-01 00:00:00 UTC 到现在的秒数

ntp

功能:同步时间
安装:yum install -y ntp
启动管理:systemctl start | stop | restart | status | disable | enable ntpd
手动校准时间:ntpdate -u ntp.aliyun.com

主机名

功能:系统的名称
查看:hostname
设置:hostnamectl set-hostname 主机名

ps命令

功能:查看进程信息
语法:ps -ef或者ps aux,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

  • pgrep pidof命令用于通过进程名称(进程信息中COMMAND栏对应的内容)查找进程的PID(进程ID
    • pgrep 进程名 返回全部匹配的PID
    • pidof 进程名 返回第一个匹配的PID

kill命令

功能:杀死进程信息
语法:kill -9 进程ID-9表示强制结束进程,不加-9表示向进程发出信号请求其关闭,是否关闭由该进程决定。

网络命令

1.ip地址

查看ipifconfig

2.nmap命令

功能:查看ip被占用情形
语法:nmap ip地址

3.netstat命令

功能:查看端口占用:查看 socket、网络协议栈、网口以及路由表的信息。
替代命令:ss,性能比netstat更好
用法:netstat -anptu | grep xxx

  • 选项:
    • -l:表示只显示listen状态的socket。
    • -t:显示TCP连接。netstat -anpt即查看TCP的连接状态。
    • -a:显示所有活动的网络连接以及监听的服务器套接字。
    • -n:以数字形式显示地址和端口号,而不尝试确定它们的名称。
    • -p:显示与每个套接字关联的进程ID和程序名称。
    • -anp:显示所有活动的网络连接、监听的服务器套接字以及与之关联的进程。
    • -u: 显示UDP连接。

4.route命令

功能:查看当前系统的路由表。
语法:route -n

5.sar命令

功能:查看网络统计的统计信息,如吞吐率和 PPS
语法:sar -n 查看类型

  • 选项:
    • -n 查看网络
      sar -n DEV,显示网口的统计数据;
      sar -n EDEV,显示关于网络错误的统计数据;
      sar -n TCP,显示 TCP 的统计数据

6.ping命令

功能:测试网络是否联通
语法:ping [-c num] 参数
选项: -c检查的次数,不使用-c选项,将无限次数持续检查
参数: ip或主机名,被检查的服务器的ip地址或主机名地址

wget命令

功能:文件下载
语法:wget [-b] url

  • 选项:-b,后台下载,会日志写入当前工作目录的wget-log文件
  • 参数:url,下载链接
  • 通过tail命令可以监控后台下载进度:tail -f wget-log

curl命令

功能:curl可以发送http网络请求,可用于:下载文件、获取信息等。
语法:curl [-o] url

  • 选项:-o,当url是下载链接时,可以使用此选项来保存文件。
  • 参数:url,要发起请求的网络地址

top命令

功能:查看主机运行状态
语法:top,查看基础信息

  • 选项:
    • -p 只显示某个进程的信息
    • -d 设置刷新时间,默认是5s
    • -c 显示产生进程的完整命令,默认是进程名
    • -n 指定刷新次数
    • -u 查找特定用户启动的进程

df命令

功能:查看磁盘占用

  • 选项:-h,以更加人性化的单位显示

iostat命令

功能:查看CPU、磁盘的相关信息

环境变量

  • 临时设置:export 变量名=变量值
  • 永久设置:
    • 针对用户,设置用户HOME目录内:.bashrc文件
    • 针对全局,设置/etc/profile

PATH变量

PATH是一个环境变量

$符号

可以取出指定的环境变量的值
语法:$变量名
示例:
echo $PATH,输出PATH环境变量的值

压缩解压

压缩

tar压缩语法:tar -zcvf 压缩包 被压缩1...被压缩2...被压缩N
zip压缩语法:zip [-r] 参数1 参数2 参数N

  • 选项
    • -r 表示被压缩的参数包含文件夹

解压

tar解压缩语法:tar -zxvf 被解压的文件 -C 要解压去的地方

  • 参数
    • -C,可以省略,指定要解压去的地方,不写解压到当前目录
      unzip语法:unzip [-d] 参数
  • 选项
    • -d-c用法相同

su命令

功能:切换用户
语法:su [-] [用户]

不推荐使用,最好使用sudo暂时获取root权限

chmod命令

修改文件、文件夹权限
语法:chmod [-R] 权限 参数

  • 选项-R,设置文件夹和其内部全部内容一样生效
  • 权限,要设置的权限,比如777表示拥有全部权限
  • 参数,被修改的文件、文件夹

genent命令

  • getent group,查看系统全部的用户组
  • getent passwd,查看系统全部的用户

env命令

查看系统全部的环境变量
语法:env