Linux指令入门

本文详细介绍了Linux操作系统中的一些基本命令,包括窗口操作、查询命令、文件操作、通配符的使用、命令类型、自定义命令、输入输出重定向、管道、权限管理、进程管理、软件安装以及网络相关命令。此外,还涵盖了正则表达式和归档压缩等内容,是Linux初学者的实用教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux指令

(一)、窗口命令

  • 打开终端快捷键:ctrl + alt + t
  • 清空命令行:
    • clear
    • ctrl + L
  • 命令行页面缩放
    • 放大:ctrl + shift + ”+“
    • 缩小:ctrl + ”-“
  • 移动命令行
    • window + 上键:窗口最大化
    • window + 左键:窗口置于左边
    • window + 右键:窗口置于右边

(二)、查询命令

  • cal:查看当前日期(日历)
  • date:查看当前时间
  • free:查看内存用量
  • df:查看磁盘用量
  • pwd:查询当前所处的路径
  • ls -l:查询文件的详细信息
  • ls -lh:查询文件的详细信息并标明文件大小
  • cd -:回到上一次访问的目录
  • ctrl + ”左/右键“:快熟移动光标
  • file + ”文件名“:查看文件的信息
  • less + ”文件名“:查看文件内容,通过上下键查阅;也可以使用pagedown和pageup两个按键来实现翻大页面;输入G是跳转到底部,输入g是跳转到顶部,输入q退出;可以输入 /+需要查找的字符,匹配的字符会阴影标注显示

(三)、文件操作

  • mkdir xxx:创建xxx目录
  • > xxx:重定向,比如 > abc.txt,会创建一个abc.txt文件,ubuntu不起作用(然后可以输入文本,回车换行,ctrl + c退出保存),重定向多个可以通过空格为分隔写多条语句
  • echo xxx >xxx.txt:将xxx写入xxx.txt内,数据会被覆盖
  • vim xxx.txt:可以通过vim编辑器写入数据,wq保存退出
  • cat xxx.txt:在终端中查看xxx.txt内容
  • cp a b:将a中的数据复制到b中
  • mv a.txt ./my:将a.txt这个文件移动到当前目录下的my文件夹里面
  • 复制粘贴:1.通过鼠标中键:左键选中文本,点击中键即可快熟实现复制粘贴;2.ctrl + shift + c 和 ctrl + shift + v
  • rm -r:通过递归的反式删除文件夹或文件,因为rm指令不能删除含有文件的目录

(四)、硬链接和符号链接

  • 符号链接:相当于window的快捷方程式,点击即可访问链接文件,删除符号链接并不会影响链接文件,但是删除链接文件会影响符号链接
    • ln -s b.txt b_fuhao:创建b.txt的符号链接b_fuhao,-s表示符号链接,b_fuhao创建成功后会有一个小图标
  • 硬链接:相当于对链接文件进行复制,但是这两个文件用的是同一片存储空间
    • ln a.txt a_ying:将a.txt硬链接到a_ying,ln相当于line
    • ls -li:查看两个文件的详细信息,i显示他们在内存中的编号,可以看出他两的内存编号是一样的,说明它两有硬链接关系
    • 缺点:只能链接同一个磁盘的文件

(五)、通配符

  • *****:任意通配符
    • ls -l *.txt:输出以.txt结尾的所有文件
  • :单个通配符
    • ls -l ?.??? :输出名称为一个字符,后缀为三个字符的所有文件
  • []:括号内的字符表示满足任意一个字符都可以输出,比如:ls -l [ab].*,输出以a或者b为命名的所有文件

(六)、命令类型

  • type xxx:若显示命令所在的路径,说明这是一个脚本命令,如:type cp,打印出cp is /bin/cp
  • type ls:打印出 ls is aliased to `ls --color=auto’ ,说明ls是通过ls --color=auto改造而来的
  • type type:打印出 type is a shell builtin , 说明type是一个内置命令
  • xx --help:查看xx命令的帮助文档

(七)、自建命令-alias

退出终端后,自建命令即失效

  • alias 命令名=”命令“
    • 比如删除所有 .txt 文件命令:alias deltxt="rm *.txt"
    • 命令自建好后,在命令函中输入deltxt即可删除所有 .txt 文件
  • 查看自建命令:在命令行中输入alias即可查看,有些输出的命令是系统自己创建的命令
  • 删除自建命令:unalias 命令名; 如:unalias deltxt

永久保存

  • 在~目录下用vi打开.bashrc:vi .bashrc
  • 在.bashrc中写入:alias 命令名=‘命令’;例如:alias todesktop=‘cd ~/Desktop’
  • 关闭当前终端,重新打开一个终端即可生效,或者输入:source .bashrc

(八)、输入输出重定向

在linux中,你输入的字符是通过输出重定向才能够显示在终端中,而我们输入的过程叫做输入重定向

  • echo 1234 > a.txt:每次执行都会覆盖文件内容
  • echo 1234 >> a.txt:每次执行会将新的数据插入到老数据之后

将多个文件内容重定向到一个文件中

  • ls 1.txt 2.txt > 3.txt
  • ls 1.txt 2.txt 2> 3.txt:2>可以打印并写入错误信息
  • ls 1.txt 22.txt &> 3.txt:&>可以将正确和错误信息都写入

cat标准输入流

  • cat < 1.txt 等价 cat 1.txt 都是将1.txt中的内容重定向输出到命令行

(九)、管道

符号是 “|”

  • 区别于echo,echo xxx,输出的是包含命令,但是命令不显示
  • 通过 ls -l|less,输出的只是包含查询的内容

输出剔除多个文件夹中相同名称的文件

  • ls ./ first second|sort|uniq:查询当前文件夹,first和second文件夹中文件名称(没有重复),需要先进行排序sort
  • ls ./ first second|sort|uniq -d:-d参数查询被剔除的文件

wc命令

  • wc data.txt:输出的是 多少行 多少个单词 多少个字节 文件名

也可以通过ls查询输出结果,这样就不用生成文件再进行wc查询

  • ls -l |wc

grep匹配符号(适用行的,与通配符不同)

  • ls -l |grep txt:输出所有带有txt的文件

通过head和tail输出头10行和尾10行(默认)

  • ls -l |head -n 2:输出头2行
  • ls -l |tail -n 3:输出尾2行

tee可以输出和写入数据,同时还能继续通过管道继续执行一些命令

  • ls -l |tee test.txt:将数据写入test.txt并再控制台中输出
  • ls -l |tee test.txt |sort:将数据写入test.txt并将数据排序后输出到控制台

(十)、echo

  • echo ~:显示路径,和pwd差不多,但是pwd输出的当前路径,echo ~输出的是当前路径的上一个路径
  • echo $((1+1)):计算并输出结果,需要两个括号
  • echo $(((1+1) + (2*3))):复杂计算

循环创建文件

  • > {001…100}.txt:在ubuntu中不起作用,替换为
    • for i in {001…100};do echo 123 > “$i.txt”;done
  • ls -l {10…20}.txt:输出10.txt到20.txt的信息
  • ls -l {10,15}.txt:输出10.txt和15.txt的信息
  • rm {001…100}.txt:删除001.txt到100.txt文件

变量

  • test=abc; echo $test:将test这个变量赋值abc,通过echo查询变量test,关闭窗口后,变量也会消失
  • printenv:查询所有变量
  • whatis printenv:会告诉你者命令是干什么用的

命名替换扩张

  • echo $(ls -l):输出的数据不会换行,输出的内容和ls -l一致
  • echo -e “$(ls -l)”:实现输出换行,加双引号,-e也可不需要
  • which cp:输出cp所在的路径
  • ls -l $(which cp):输出cp的详细信息

引号

  • 双引号:可以原样保留输出的数据,不会忽略空格和回车等
    • echo “$(ls -l)”:会执行ls -l这个命令
  • 单引号:取消括住的所有拓展功能
    • echo ‘ “ ( l s − l ) ”’:输出的是“ (ls -l)” ’:输出的是 “ (lsl)”’:输出的是(ls -l)”

历史记录扩张

  • history:会输出历史记录的命令
  • !123:会输出并执行历史记录中的第123个命令
  • !!:两个感叹号是执行删一条命令

(十一)、权限

权限设置

由十个字符组成,如-rw-r–r–,第一个字符表示该文件的类型:-表示文本文件,d表示文件夹,l表示链接文件;后边三个字符为一组,第一组表示文件的创建者的权限,第二组表示创建者的下级账号的权限,第三组表示既不是创建者也不是下级账号的权限;r表示读权限,w表示写权限,x表示执行权限,没有的权限用-表示

  • 权限数值(421码)
    • 0:—
    • 1:–x
    • 2:-w-
    • 3:-wx
    • 4:r–
    • 5:r-x
    • 6:rw-
    • 7:rwx
  • chmod 766 1.txt:为1.txt分配3种用户的权限

创建用户

  • sudo su:进入超级管理员账户,显示为#
  • adduser aa:创建aa用户
  • su aa:使用aa用户
  • sudo deluser aa:删除aa这个用户(需要关闭aa这个用户启动的进程),删除后aa用户这个文件夹还是存在,需要再去删除,该文件夹只能由su用户删除

改变文件的归属

**例:1.txt这个文件的信息详细为:-rwxrw-rw- 1 g g 4 1月 10 11:11 1.txt **

  • 1表示文本文件中有1个单词
  • 第一个g表示创建者的名称
  • 第二个g表示组别名称
  • 4表示文件的字节数
修改所有者
  • sudo chown aa 1.txt:将1.txt这个文件的创建者修改为aa这个用户
  • 或者通过切换到超级管理员用户进行设置,就无需sudo
修改所有组别名
  • sudo chown aa: 1.txt:将创建者和组别都修改为aa
修改账户密码
  • sudo passwd 用户名

(十二)、进程

  • 输入ps查看当前窗口的进程
  • ps -x:显示按下回车那一刻电脑的所有进程
  • top:3秒刷新一次电脑的所有进程
  • ps -aux:常用的查看进程的方法,通过快照的方式展示,不会影响电脑的性能,展示的内容更多

杀进程

  • xlogo:在桌面上生成一张x的照片窗口,通过点击终端输入ctrl+z将xlogo退出前台,重新回到前台需要输入fg %1,具体数值看子进程号
  • 通过ps查询xlogo的进程号,并通过 kill 进程号杀死该进程
  • 若该进程还是没给杀死,需要输入 jobs 查看它的子进程,通过 kill %子进程号 杀死进程

强制杀死进程

  • kill -9 进程号:强制杀死该进程
  • killall -9 xlogo:强制杀死xlogo的所有进程

(十三)、软件管理

ubuntu基于Debian,要离线安装软件,文件名必须以 .dpkg 结尾

apt指令

  • apt-get update:更新软件库
  • apt install 软件包名:安装软件
  • apt remove 软件包名:卸载软件
  • apt install --only-upgrade 软件包名:更新指定的软件
  • apt upgrade:更新所有软件
  • apt install search 软件包关键词:搜索软件包
  • apt list:查看所有软件包(未安装 + 已经安装)
  • apt list --installed:查看已经安装的软件包
  • apt list --installed | grep firefox:通过grep匹配安装包名为firefix的软件包

(十四)、网络相关命令

ifconfig

  • 查看当前电脑局域网信息

wget下载文件命令

  • wget 下载地址:下载指定地址的资源

远程链接ssh

  • ssh 另一台电脑用户名@ip地址

查看ssh状态

  • sudo systemctl status ssh

如果没有ssh服务,需要安装ssh

  • sudo apt install openssh-server

开启ssh服务

  • sudo systemctl enable ssh

关闭ssh服务

  • sudo systemctl stop ssh

(十五)、查找

locate

  • locate xxx:搜索含还有xxx的文件路径(全局)
  • locate xxx |grep g:搜索路径含有g的xxx文件
  • locate xxx |grep g |xargs ls -l:xargs是执行后面命令的管道

find

  • find xxx目录:find需要指定目录,输出该目录下所有文件
  • find xxx目录 -name “*.txt”:在xxx目录查找所有txt文件
  • find xxx目录 -type d:xxx目录下的所有文件夹
  • find xxx目录 -type d -size +1M:输出xxx目录下大于1MB的文件夹
  • find xxx目录 -name “1.txt” |xargs ls -l

(十六)、压缩、归档

归档主要是用来备份,压缩主要用来缩小文件,gzip只能压缩文件;gzip2用法和gzip一样,但是gzip2的压缩后文件更小,消耗时间更多;压缩文件夹要用tar

压缩 和 解压

  • gzip 1.txt:压缩1.txt这个文件,并且将原文件替换成.gz的压缩包
  • gunzip 1.txt.gz:解压文件

压缩的过程

  • gzip -c 1.txt:将1.txt内容转换为二进制流
  • gzip -c 1.txt > 1.txt.gz:重定向将二进制流写入压缩包内,压缩包取名为1.txt.gz

不解压查看数据

  • gunzip -c 1.txt.gz:不解压直接查看1.txt.gz中的数据
  • gunzip -c 1.txt.gz |less:通过管道查看

归档

  • tar -cf guidang.tar ./*.txt:将当前 目录下的txt文件全都归档到guidang.tar中
  • tar -xf jieguidang …/guidang.tar:将当前目录的上级目录中的guidang.tar解归档到jieguidang文件夹中

(十七)、正则表达式

主要用于字符的匹配

  • grep a 1.txt:输出1.txt中含有a的行

  • grep -v a 1.txt:输出没有含a的所有行(-i逆向匹配)

  • grep -i a 1.txt:无视大小写匹配

  • grep “.a" 1.txt:输出1.txt中a之前还要一个字符的行

  • grep ”^a“ 1.txt:输出a开头的行

  • grep ”a$“ 1.txt:输出a结尾的行

  • grep [23]$ 1.txt:输出结尾是2或者是3的行

  • grep ”^…[ab]" 1.txt:输出从头开始第4个字符是a或者b的行

  • grep ”[ab]…$" 1.txt:输出从尾部开始第4个字符是a或者b的行

  • grep 1 1.txt:输出开头是1到9的行,这里要用“-”号

  • grep 2 1.txt:输出开头是1到9和a到b的行,这里要用“-”号

(十八)、POSIX字符类

就是匹配字符,可以匹配数字,大小写字母,符号;格式:小写字母[[:lower:]] 大写字母[[:upper:]] 符号[[:punct:]] 数字[[:digit:]]

  • grep 3 1.txt:匹配开头是大写字母的行
  • grep 4 1.txt:匹配开头是小写字母的行
  • grep 5 1.txt:匹配开头是数字的行
  • grep 6 1.txt:匹配开头是符号的行

增强型匹配–多字符串匹配:需要用的-E参数,是extend意思

  • grep -E ‘ab|bc’ 1.txt:匹配开头是ab或者是bc的行,这里的“|”是多选结构(或者的意思),不是管道的意思

增强型匹配–?:?是匹配0次或者1次

  • grep -E “^c?a”:若有开头为c的则接着匹配第二位为a的*行;若没有c开头的,则匹配a开头的行

增强型匹配–:*****在通配符中是匹配所有字符,正则中的意思是同一个字符的n次,如a就是aaaa…

  • grep -E “A*” 1.txt:匹配有连续A的行
  • grep -E “A*B” 1.txt:若有连续的A,则输出该行并匹配下一个为;若没有则输出有B的行

增强型匹配–+:*号输出的是全部(不管匹不匹配都输出),+只输出匹配的

  • grep -E “a+” 1.txt:匹配有一个或多个a的行
  • grep -E “a+s” 1.txt:有一个或多个a后面还接着的是s的行
  • grep -E “a{2}” 1.txt:匹配的a最少是连续2个
  • grep -E “a{2,4}” 1.txt:匹配的a最少为2个,最多为4个
  • grep -E “a{,4}” 1.txt:匹配的a最多为4个
  • grep -E “a{2,}” 1.txt:匹配的a最少为2个

(十九)、自建命令脚本

  • vi xxx:创建名字为xxx的脚本文件,并进入vi编辑器写入

  • #!/bin/bash
    echo "hello world!";
    
  • sudo chmod 766 xxx:将xxx文件变成课执行文件

  • ./xxx:需要指定xxx的路径才能正确运行

查看环境变量路径PATH是一个环境变量,用于指定系统在哪些目录中搜索可执行程序。当你在终端中输入一个命令时,系统会按照PATH环境变量中定义的顺序依次搜索这些目录,直到找到对应的可执行程序为止。

  • echo $PATH:结果以冒号为间隔

将自建命令脚本路劲写入环境变量

  • 第一步,进入用户目录下,cd ~

  • 第二步,vi编辑器打开.bashrc

  • 第三步,在.bashrc的最后一行添加路径:export PATH"~/bin:$PATH"(因为我这里在用户目录下新建了一个bin目录来存储脚本,所以指定路径为~/bin)

  • 第四步,重新加载.bashrc文件:source .bashrc

  • 之后我们在任意一个路径下直接输入脚本的名称即可执行


  1. 1-9 ↩︎

  2. 1-9a-b ↩︎

  3. [:upper:] ↩︎

  4. [:lower:] ↩︎

  5. [:digit:] ↩︎

  6. [:punct:] ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值