Linux基础-02 Linux命令(shell命令)

二、Linux命令(shell命令)

1. 终端操作

- 终端操作

  • 打开终端:

    • ctrl+alt+t
  • 退出终端:exit

    • 在普通用户权限下用exit退出终端
    • 如果是切换后的登陆用户,退出则返回上一个登陆账号。
    • 如果是终端界面,退出当前终端。
  • 命令行:用户名@计算机名:目录$

    • $:表示普通用户环境
    • #:root用户环境
    • 目录
      • /:代表根目录
      • ~:代表家目录(/home/用户名
  • ctrl + c:中断命令执行

  • ctrl + shift + c:复制

  • ctrl + shift + v:粘贴

  • ctrl + shift + = 放大终端窗口的字体显示

  • ctrl + - 缩小终端窗口的字体显示

  • tab键:自动补全,通过按下 tab 键,可以补全命令或路径

    • 优点:
      • 避免输入错误
      • 提高输入效率
    • 如果按完Tab之后,没有可提示的内容时,会不显示任何内容,可以继续按第二次,会将所有的文件或命令提示出来,选择是否显示
    • 如果在输入了几个字母后,按一次tab,会将所有以输入字符开头的命令或文件显示出来
    • 如果命令或文件是唯一的,那么tab会直接补全
  • 方向键↑和↓: 使用上下方向键可以查找命令历史

  • ifconfig:查看ip地址

  • clear:清屏,清除屏幕上显示过的信息

    • 快捷键:
      • linux/mac:ctrl + L

- 查看shell

你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash).

想看看你的Shell是哪一种,执行下面的命令

  • echo $SHELL

3. windows自带的WSL2【补充】

访问WSL2的文件目录

\\wsl$

2. inux 命令格式(掌握)

- 命令格式

命令 [选项]... [文件名/参数]...
  • 选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。

  • 选项可以分为短选项和长选项

    1. 短选项的格式: '-'后面接单个字母, 比如:-r
    2. 长选项的格式: '–'后面接单词, 比如:–help
  • 参数:命令的操作对象,一般是文件名或者目录名。

  • []:代表可选

- 获取指定命令帮助信息(掌握)

  • 命令 --help :显示命令的帮助信息
  • man 命令:查阅命令的使用手册,是manual 的缩写,是 Linux 提供的一个 手册

使用 man 时的操作键:

操作键功能
空格键显示手册页的下一屏
Enter 键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/word搜索 word 字符串

区别:

  • --help显示的信息不会分页
  • man显示的信息会分页,可以用键盘翻页(本质是进入访问了说明文件)

3. 常用命令——文件管理

- 路径说明

  • /:代表根目录

  • ~:代表家目录(/home/用户名

  • .:当前目录

  • ..:上一级目录

  • .开头的文件为隐藏文件

  • Linux所有的目录和文件名大小写敏感

- 特殊字符说明(通配符)

通配符含义
*文件代表文件名中所有字符
ls te*查找以te开头的文件
ls *html查找结尾为html的文件
代表文件名中任意一个字符
ls ?.c只找第一个字符任意,后缀为.c的文件
ls a.?只找只有3个字符,前2字符为a.,最后一个字符任意的文件
[][”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。
[abc]匹配a、b、c中的任意一个
[a-f]匹配从a到f范围内的的任意一个字符
ls [a-f]*找到从a到f范围内的的任意一个字符开头的文件
ls a-f查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
\如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。
ls *a查找文件名为*a的文件

- 查看目录及路径

  • pwd:查看当前目录路径,英文:print work directory

  • ls:查看当前目录下的内容,英文:list

    • ls -a:显示当前目录下所有的文件(包含以.开头的隐藏文件)
    • ls -l:以长信息格式显示当前目录下的文件
    • ls -h:一般会配合 -l 使用,以单位格式(kb,mb等)显示文件大小
    • ls -alh:(联合使用)显示所有文件的长信息
    • ls -alh 路径:显示指定路径下的所有文件的长信息

补充:

  • !ls:执行最近一次执行过的ls命令
  • ll:相当于ls -al,是简写

长信息显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLDdRaTa-1610013693199)(Media/Xnip2019-05-07_11-13-43.png)]

- ls命令显示颜色含义

白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件

- 切换目录

  • cd 目录或路径 :切换到指定目录,英文:change directory
    • cd ~:切换到当前用户的主目录(/home/user)
      • cd:切换到当前用户的主目录(/home/user)同上
    • cd /:切换到根目录
    • cd ..:切换到上一级目录
    • cd .:切换到当前目录(无意义的操作)
    • cd -:切换到上一次目录

- 绝对路径和相对路径

  • 绝对路径:是指以 / 开头的路径
    • 无论在哪执行都能得到一个相同的结果
    • 如:/test/hello
  • 相对路径:是指没有/ 开头的路径
    • 相对路径起点是以当前目录开始去查找,不同的位置执行相同的路径,得到的结果不同
    • 如:./test/hello../test/hellotest/hello

- 创建和删除目录

  • mkdir:创建目录,英文:mkdir make directory (理解)
    • -p 选项用来逐层创建不存在的目录
  • rmdir:删除空目录(只能删除无文件的空目录),英文:rmdir remove directory【不常用】
    • -p 选项用来逐层删除空目录(如果某个目录中存在其它文件或目录,删除失败)【不常用】【一般用rm -r

- 创建和删除文件

  • touch 文件名:创建文件
    • touch 文件1 文件2 ...:用空格隔开,可以连续创建多个文件
  • rm 文件名:删除文件(不经过询问,且不进入回收站,慎用
    • -i :删除前询问是否删除
      • 只有回复y才删除
    • -r :删除目录(不考虑目录是否为空)
    • -f :强制删除不询问
    • rm -rf *:【常用】删除当前目录下的所有文件
      • * :表示通配符,表示所有文件

- 复制文件或目录

  • cp 源文件 目标路径:复制文件,英文:copy
    • -r :可以复制目录
    • cp 源文件 目标路径和文件名复制的同时可以改名
      • 如:cp test.py ~/Desktop/test_copy.py

- 移动文件或目录

  • mv 源文件 目标路径:移动文件或目录,英文:move
    • -v: 在移动或复制时,显示路径信息【了解】
    • mv 文件名A 文件名B:可以实现重命名操作
    • 没有-r选项,可以直接操作目录

4. 常用命令——高级命令

- echo 【不常用】

  • echo 内容:显示,相当于print
  • echo $? 显示上一次命令或程序的执行状态码
    • 0表示正常结束
  • echo $PATH 显示系统环境变量 PATH
    • 用冒号连接多个路径

在Linux中,$符号代表一个shell 变量。所有的shell都用这种方式使用变量。有一些shell变量在你的系统启动的时候就有了默认值。

例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。

echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。

应用:对文件的内容进行追加

echo '内容文本' >> a.txt

- 重定向

  • >:输出重定向,用来将输出到屏幕的数据,重定向到一个指定位置(一般是指定一个文件)
    • 不管指定的文件是否存在,都会创建新文件保存数据
      • 如果文件存在,会覆盖原文件
# 将ls输出的内容,输出到文件a.txt中
ls > a.txt 
  • >>:输出重定向,区别 >>追加数据
    • 如果文件不存在,会创建新文件保存数据
    • 如果文件存在,会在文件末尾追加数据

- 查看文件内容

  • cat:查看小型文件,可以同时查看多个文件,显示效果是将多个文件依次显示
  • more:查看大型文件,特点是可以分屏显示,可以前后翻页
    • 空格f:向下翻一屏
    • b:向上翻一屏
    • 回车:向下翻一行
    • q:退出,并停留在当前页

应用

  • cat重定向配合可以实现文件的拼接
cat a.txt b.txt > c.txt

- 管道

  • |:管道
    • 将 管道左边命令的输出结果做为管道右边命令的输入

应用

  • 命令管道more 组合,可以实现命令输出结果分屏显示
ls -l ~/Desktop | more

#相当于
ls -l ~/Desktop > a.txt
more a.txt

- 链接命令

  • ln -s 源文件 软连接文件:软链接【掌握】,类似windows下的快捷方式

    • 软链接文件,无论对哪个文件进行操作,都会影响另外一个文件

    • 当原文件删除或移动或改名后,那么链接文件会失效,链接文件会变成红色,如果将这个文件名恢复,那么连接也会恢复

  • 当创建软链接文件时,为了避免软连接文件移动后链接失效,源文件需要使用绝对路径指定

    • 可以对目录做软链接

    • 软链接创建的文件格式是l,是软连接文件

  • ln 源文件 硬连接文件:硬链接,类似于源文件的一个别名,即这两个名字指向的是同一个文件数据

    • 硬链接只能链接文件,不允许对目录做硬连接

    • 硬连接不受路径影响使用相对路径和绝对路径都可以

    • 硬连接会保持数据同步

    • 目录的文件信息中的连接数表示,当前目录下包含多少子目录

    • 硬链接创建的文件格式是-,即普通文件

    • 每创建一个硬链接文件,对应的文件数据属性中的连接数 +1,反之删除则减一

    • 删除源文件,硬链接还可以访问到文件数据

文件夹的链接数:表示该文件夹下有几个文件夹

  • 因此不能对目录进行硬链接

文件的链接数:表示该文件数据有几个硬链接对象(即文件)

- 文本搜索(文件中查找)

  • grep 选项 '要查找的内容' 被查找的文件:文本搜索

    • 如果找到,则显示该文本,如果未找到,则不显示内容

    • -i:忽略大小写

    • -n:显示查找到内容匹配的行号

    • -v:显示不包含匹配文本的所有行号,即取反作用

    • grep 搜索时,可以使用正则来查找字符

正则表达式

  • ^ 以指定字符串开头
    • eg: '^xxx'
  • $:以指定字符串结尾
    • eg: 'xxx$'
  • .:匹配任意一个非换行符的字符
    • eg: 'xxx.xxx'
  • .*:匹配任意数量的非换行符的字符【了解】
    • eg: 'xxx.*xxx'

应用

  • 命令管道grep 组合,可以实现命令输出结果内容查找
ls -l ~/Desktop | grep '123.py'

# 相当于
ls -l ~/Desktop > a.txt
grep '123.py' a.txt

- 查找文件

  • find 查找路径 -name 被查找的文件
    • 查找的范围:包含指定目录及指定目录下的子目录
    • 被查找文件可用引号引起来find 查找路径 -name '被查找的文件'
  • 通配符
    • *表示任意个字符
    • ? 表示一个任意字符

- 压缩和打包

打包文件

  • tar cvf 文件名:命令可以将多个文件进行打包

    • 打包是不会进行压缩文件的

    • tar命令的选项,可以不写-

    • -c:创建打包文件

    • -v:显示打包或者解包的详细信息

    • -f:指定文件名,一定放在所有选项的最右侧,后面跟的是包名

解包文件

  • tar xvf 文件名:解压指定文件

    • -x:解包打包文件
    • -v:显示打包或者解包的详细信息
    • -f:指定文件名,一定放在所有选项的最右侧,后面跟的是包名
  • tar xvf 文件名 -C 目录路径:解压指定文件到指定目录

    • -C:解压缩到指定目录

压缩文件

为了在打包时可以进行压缩,tar 集成了两个选项,z 和 j,用来在打包的同时对包文件进行实现压缩

  • tar zcvf xxx.tar.gz 被压缩文件:压缩【常用】,压缩比低,速度快

    • -z -> gzip 工具,压缩格式是 .gz【常用】
    • 这里的后缀名只是起提示作用,无意义,但一般需要写出
  • tar jcvf xxx.tar.bz2 被压缩文件 :压缩,压缩比高,速度慢

    • -j -> bzip2 工具,压缩格式是 .bz2
  • 这里的后缀名只是起提示作用,无意义,但一般需要写出

解压文件

  • tar zxvf xxx.tar.gz:解压缩

  • tar zxvf xxx.tar.gz -C 指定解压缩目录:解压至指定目录

  • tar jxvf xxx.tar.bz2:解压缩

  • tar jxvf xxx.tar.bz2 -C 指定解压缩目录:解压至指定目录

- 进程

ps:报告进程的状态。此命令将显示哪些程序正在运行。

ps -ef | grep firefox

查找firefox进程

找到进程id后,可以通过kill id杀掉某个进程

kill 1234

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值