linux常用命令

本博文主要面向的是刚刚接触liunx的同学,简单介绍了liunx中的常见命令,足以满足liunx使用日常需求。如果你是liunx小白,那少侠请留步。

01 命令行的一般格式

命令字 [选项] [参数]

  • 快捷键
    • ctrl+c 结束正在运行的命令
    • alt/esc+. 粘贴上一个命令的参数
    • ctrl+l 清空整个屏幕
    • ctrl+u 从光标处清空至行首
    • ctrl+w 往回删除一个单词

02 linux 常用命令

2.1 路径相关操作(pwd、cd、ls)

  • pwd (Print Working Directory) 显示当前所在位置的完整路径
aa@mc:~$ pwd
/home/aa
  • cd(Change Directory)切换路径
aa@mc:~$ cd /
aa@mc:/$ pwd
/
aa@mc:/$ cd .. # 返回上一层(父目录)
aa@mc:/$ cd ~  # ~ 表示家文件
  • ls(list) 显示当前目录内容

[options]

  • -l 显示详细属性
  • -h 显示单位
  • -d 显示目录本身属性
  • -A 显示隐藏目录
  • -R 递归显示
aa@mc:/$ ls -ld /
drwxr-xr-x 20 root root 4096 Nov  8 10:59 /

aa@mc:/$ ls -l /  
drwxr-xr-x   5 root root       4096 Nov 16 12:21 boot
drwxr-xr-x   2 root root       4096 Jan  1  1970 cdrom
drwxr-xr-x   2 root root       4096 Nov  8 08:35 data
drwxr-xr-x  20 root root       4860 Nov 19 08:26 dev
drwxr-xr-x 111 root root       4096 Nov 19 08:06 etc

aa@mc:/$ ls -lh /etc/passwd
-rw-r--r-- 1 root root 2.0K Nov  8 11:27 /etc/passwd

aa@mc:/$ ls -A ~
Anaconda3-2023.09-0-Linux-x86_64.sh  .bashrc	   clockwork-modelzoo-volta	  
apt_2.0.2ubuntu0.2_amd64.deb	     .bashrc.save  code	
azure-functions			             .bashrc.swp   .config	
.bash_history			     		 .cache	

2.2 文本文件相关操作

2.2.1 创建文本文件或文件夹(mkdir、touch)

  • mkdir 创建目录

[options]:

  • -p:创建多层文件夹
aa@mc:~$ mkdir -p tmp # -p 递归创建文件夹,习惯加上
aa@mc:~$ ls
azure-functions     docker_registry      get-pip.py  index.html.1  
logs                mpich-3.3.2.tar.gz   tmp   
  • touch 创建文件
aa@mc:~$ touch dome.py
aa@mc:~$ ls
azure-functions     docker_registry      get-pip.py  index.html.1  
logs                mpich-3.3.2.tar.gz   tmp         dome.py

2.2.2 查看文本文件内容(cat、less、head、tail、grep)

  • cat 查看文本文件内容(适用于文本内容较少)
aa@mc:/$ cat /etc/lsb-release  # 显示系统版本
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

aa@mc:/$ cat /etc/hosts #ip地址映射
127.0.0.1	localhost
127.0.1.1	mc

-n 显示行号
  • less 查看文本文件内容(适用于文件内容较多)
    在这里插入图片描述

回车会显示内容,这是controller.cpp中的内容。方向上下键代表滚动,按 q 退出。

  • 查看部分文件内容
# head - n <path>  # 默认n=10
mc@aa:~$ head -1 index.html
<!DOCTYPE html>

# tail - n <path>  # 默认n=10
mc@aa:~$ tail -1 index.html
<!--STATUS OK-->
  • grep在文本文件内容中,过滤包涵指定字符串的行

[options]:

  • -v:取反匹配
  • -i:忽略大小写


^ [word] 必须以word开头
[word]$ 必须以word结尾
^$ 表示空行

aa@mc:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

aa@mc:~$ grep DISTRIB_RELEASE /etc/lsb-release 
DISTRIB_RELEASE=20.04

aa@mc:~$ grep distrib_release /etc/lsb-release
aa@mc:~$ grep -i distrib_release /etc/lsb-release
DISTRIB_RELEASE=20.04

aa@mc:~$ grep -iv distrib_release /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"


2.2.3 删除文本文件或目录 rm

[options]:

  • -r:递归删除(含目录)
  • -f:强制删除
aa@mc:~$ rm index.html
aa@mc:~$ rm -rf tmp

2.2.4 移动文本文件或目录 mv cp

  • mv

[options]:

  • -r:递归删除(含目录)
  • -f:强制删除
aa@mc:~$ mv -r ~/logs /logs

# 重命名
aa@mc:~$ mv /logs /tmps
  • cp

[options]:

  • -r:递归 复制目录时必须有此项
aa@mc:~$ cp -r ~/logs ~/tmps /logs  
# 复制支持多个参数,永远将最后一个参数作为目标,\
# 参数作为源

2.2.4 临时定义系统变量 alias

  • alias
  • unalias
aa@mc:~$ alias ls="ls --color"
aa@mc:~$ ls ~  # 相当于 ls --color ~
aa@mc:~$ \ls ~ # 临时取消别名
aa@mc:~$ unalias ls

2.3 硬件相关操作

2.3.1 查看系统配置(lscpu、cat /proc/meminfo、ifconfig)

  • lscpu 列出cpu处理器信息
  • lsblk 查看固态硬盘信息
  • 查看内存信息
cat /proc/meminfo
  • 网卡
ifconfig etho1 192.168.0.1  # 临时设置ip
# ctrl+c 结束正在运行的命令

2.3.2 挂载/卸载 mount/umount

mount [设备路径] [挂载点目录]
umount [挂载点目录]
挂载允许一个设备,对应一个挂载点目录;

2.4 归档及压缩操作

  • 归档:将零散文件整理为一个文件,文件总大小基本不变
  • 压缩:按某种算法减小文件所占大小。

常见压缩格式:

压缩格式压缩工具
.gz(常用)gzip
.bz2bzip2
.xzxz

2.4.1 打包命令 tar

tar [选项] /路径/压缩包名字 /源数据 …

注:要写压缩包路径,再写源数据

  • 选项

-c:创建
-z、-j、-J:打包为.gz、.bz2、.xz格式压缩包
-f:压缩包名称,必须在所有选项之后

  • 示例
aa@mc:~$ tar -zcf dome.tar.gz index.html apt_2.0.2ubuntu0.2_amd64.deb
aa@mc:~$ ls
Clockwork                 containerd.io_1.4.9-1_amd64.deb        
dome.tar.gz ....

2.4.2 解压命令 tar

tar [选项] /路径/压缩包名字 [选项] /释放位置

  • 选项3

-t:查看归档文件里有什么
-x:释放归档
-f:指定归档文件位置
-C:指定释放路径

  • 示例
aa@mc:~/logs$ tar -tf ~/logs/dome.tar.gz
index.html
apt_2.0.2ubuntu0.2_amd64.deb

aa@mc:~/logs$ tar -xf ~/logs/dome.tar.gz -C ~/logs
aa@mc:~/logs$ ls
apt_2.0.2ubuntu0.2_amd64.deb  dome.tar.gz  index.html

2.5 重定向与管道操作

2.5.1 重定向:重新定向命令的输出 >

  • 命令形式

[有输出内容的命令] > [文件路径] # 覆盖
[有输出内容的命令] >> [文件路径] # 追加

和重定向绝配的命令是echo,echo的作用是自由输出内容。我们可以使用该命令和重定向命令做一个combo。

echo 12345 >> input.txt # 在input.txt末尾追加12345

我们常用echo输出环境变量,然后写入项目的配置文件中。

  • 示例
aa@mc:~/logs$ head -3 /etc/passwd > input.txt
aa@mc:~/logs$ cat input.txt
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin

hzq@aa:~/logs$ head -2 /etc/hosts >> input.txt

2.5.2 管道 |

  • 作用:将前面命令的输出传递给后面命令,该输出会作为后面命令的参数

[命令] | [命令]

  • 示例
# 查看/etc/passwd文件的前三行
aa@mc:~$ head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin

# 查看/etc/passwd文件的第三行
aa@mc:~$ head -3 /etc/passwd | tail -1
bin:x:2:2:bin:/bin:/usr/sbin/nologin
  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

误伤这又何妨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值