虚拟主机域名注册-常见问题其他问题 → 其他问题

Linux常用的基本操作指令

  1. ls指令

  ls默认显示当前目录下的文件列表(文件名),

  它可以带很多选项 ——

  ls [选项] [目录或文件]

  复制代码

  我们重点介绍-l,-a,-d选项,其余暂时只做了解,用时再查阅。

  💛 以list形式显示文件更多属性 ——

  ls -l

  复制代码

  💛 列出目录下所有文件,包括隐藏文件

  ls -a

  复制代码

  💛 查看目录本身属性

  ls -d

  复制代码

  💚 了解:用数字的UID,GID代替名称。把用户名所属组对应的用户ID组ID显示(以后详谈)

  ls -n

  复制代码

  注意

  ll是什么?

  这要先引入一个指令,用于查看特定指令的系统路径。要知道,指令本质也是Linux上的一些程序(相当于.exe 可执行程序)

  which

  复制代码

  我们发现 ——

  因此,

  其他选项 ——

  -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

  -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件

  -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件

  -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)

  -r 对目录反向排序。

  -t 以时间排序。

  -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

  -R 列出所有子目录下的文件.(递归)

  -1 一行只输出一个文件。

  复制代码

  2. pwd指令

  💛 显示当前所在目录路径

  pwd

  复制代码

  3. cd指令

  💛 路径切换 (change director)

  上文我们提到,.表示当前路径,..表示上级路径

  cd .. 返回上级目录

  复制代码

  这就引出了,大部分的操作系统,组织文件的基本结构是一棵多叉树

  为什么我们可以采用“路径”的方式来定位文件?

  这是因为,每个叶子节点都只有父节点,从当前位置到根节点有唯一路径,是绝对路径。

  相对路径,是以当前路径为准进行索引,不以/开头,不具备唯一性,不能唯一标识一个文件。

  💛我们可以通过绝对路径或相对路径来进行路径切换

  cd /home/bts/2022_code/lesson01/a.out 绝对路径.(可能与配置文件有关,遇到再聊)

  cd ../lesson1/ 相对路径

  复制代码

  💛 记录了最近从哪里来的路径,用于两个高频路径进行切换

  cd - 返回最近访问目录

  复制代码

  💛 进入用户对应的工作目录

  cd ~ 进入用户家目录

  复制代码

  4. 创建之类

  4.1 touch指令

  touch [选项] 文件

  复制代码

  💛 1. 创建普通文件

  💛 2. 更新文件最近创建时间、修改时间

  默认更改所有时间,也可以部分改。

  选项 ——

  -a 或--time=atime或--time=access或--time=use只更改存取时间。

  -c 或--no-create 不建立任何文档。

  -d 使用指定的日期时间,而非现在的时间。

  -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

  -m 或--time=mtime或--time=modify 只更改变动时间。

  -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

  -t 使用指定的日期时间,而非现在的时间

  复制代码

  4.2 mkdir指令(重要)

  mkdir [选项] dirname

  复制代码

  💛 1. 默认创建空目录 [make director]

  💛 2. 可以带选项,递归创建多级目录

  mkdir -p p1/p2/p3/p4 递归创建多级目录

  复制代码

  5. 删除之类

  5.1 rmdir和rm指令(重要)

  5.1.1 rmdir指令

  rmdir就是mkdir的完美对应。

  💛 1. 通常删除空目录

  rmdir dirname

  复制代码

  💛 2. 递归删除多级目录

  rmdir -p p1/p2/p3/p4

  复制代码

  5.1.2 rm指令

  常用。删除文件或目录。

  💛 递归删除目录

  rmdir -r dirname 删除目录及其下所有文件

  复制代码

  💛 强制删除[force] 会忽略询问

  rmdir -rf

  复制代码

  注注意!不能有误操作,不要删除重要路径!不然你就是从删库到跑路了😓

  5.2 mv指令(重要)

  是move的缩写,用来移动文件或将文件改名,是Linux系统下常用命令,经常用来备份文件或目录。

  mv [选项] 源文件/目录 目标文件/目录

  复制代码

  根据mv命令中第二个参数类型(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

  当第二个参数是已存在的目录名称时,源文件/目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

  当第二个参数类型是文件时,mv命令完成文件重命名。此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  常用选项

  -f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

  -i 若目标文件. (destination) 已经存在时,就会询问是否覆盖

  复制代码

  💛 1. 类似剪切功能,剪切到任意你想要的路径下 —— 目录、普通文件

  💛 2. 重命名 —— 目录、普通文件

  Linux没有回收站,rm没有回收站就直接干掉了,下面是一段简单的shell脚本,把rm改造成mv

  vim ~/.bashrc #修改这个文件

  mkdir -p ~/.trash

  alias rm=trash

  alias ur=undelfile

  undelfile() {

  mv -i ~/.trash/\$@ ./

  }

  trash() {

  mv $@ ~/.trash/

  }

  复制代码

  但是现在不建议修改。

  6. man指令(重要)

  Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。

  yum install -y man-pages 下载

  复制代码

  💛 问这个男人哈哈。

  当然man也是指令,我们问问他是谁?

  man man

  复制代码

  可以看到对应内容,按q退出,在此不做展示。

  7. cp指令(重要)

  💛 1. 拷贝普通文件

  cp [选项] src dst

  复制代码

  也可以拷贝到特定路径下

  可以不指定文件名

  💛 2. 拷贝普通目录

  cp -r srcdir dstdir 递归处理

  复制代码

  系统可能会不断有询问信息,可以强制拷贝

  cp -rf srcdir dstdir 递归处理

  复制代码

  8. cat指令

  💛 查看文件内容

  常用选项

  -b 对非空输出行编号

  -n 对输出的所有行编号

  -s 不输出多行空行

  复制代码

  9. 文件查看

  为了做测试,这里写一段命令行脚本,从1打印到1000,制作一个大文件方便演示。

  count=0; while [ $count -le 1000 ]; do echo "hello ${count}"; let count++; done > file.txt

  复制代码

  对于短小文件,我们cat test.c直接看了;如果查看大文件,不想打开它,我们用more/less。

  发生在以下场景——

  日志:系统中存在各种日志,就是一些保存软件运行过程中对应的运行数据的

  别人写好的代码

  9.1.1 more指令

  💛 对文件进行分批查看,只能从上往下看(不常用),按回车显示后续内容。按q退出

  more file.txt

  复制代码

  more -n file.txt 显示n行

  复制代码

  跳跃至附近

  9.1.2 less指令(重要)

  💛 可以上下翻,推荐使用(more不推荐)

  less [参数] 文件

  复制代码

  less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

  less 的用法比起 more 更加的有弹性。在more的时候,我们并没有办法向前面翻, 只能往后面看。但若使用了 less 时,就可以使用 pageup、pagedown 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

  除此之外,在 less 里可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜

  选项 ——

  -i 忽略搜索时的大小写

  -N 显示每行的行号

  / 字符串:向下搜索“字符串”的功能

  ? 字符串:向上搜索“字符串”的功能

  n 重复前一个搜索(与 / 或 ? 有关)

  N 反向重复前一个搜索(与 / 或 ? 有关)

  q quit

  复制代码

  9.2 文本文件的局部查看

  9.2.1 head指令

  💛 从文件开头查看命令行,默认打印相应文件前10行

  head [参数] 文件

  复制代码

  9.2.2 tail指令

  💛 从文件尾查看命令行

  9.3 如何查看文件中间区域

  如何查看文件中间区域内容呢?:

  purple_heart: 我们先来点题外话,简单介绍一下重定向和管道。

  echo

  复制代码

  💛 把输出字符串显示到标准输出上

  💜 输出重定向

  echo "hello stranger" > log.txt

  复制代码

  这句指令的意思是,把原本应该显示在显示器(标准输出)的内容,重定向写入目标文件。若目标文件不存在则自动创建。[以后会从编码角度讲重定向的本质]

  再~

  这说明输出重定向,会清空原始文件内容,然后重新写入。那我们可以💜 追加重定向,本质也是写入。

  如果我们不带文件名,默认从键盘(标准输入)读取内容。

  cat

  复制代码

  [ctrl+d]退出。

  💜 输入重定向

  cat < log.txt

  复制代码

  把文件内容作为原始数据内容,传输给对应程序,让该程序处理该数据。

  回到最开始的问题,如何查看文件中间区域的内容呢?比如[100, 120]行?

  初级方案是 ——

  head -120 file.txt > tmp.txt

  tail -20 tmp.txt

  复制代码

  如果我不想创建这个文件呢?

  head -120 log.txt | tail -20

  复制代码

  用竖划线级联多条命令,进行数据的批量化处理,这像是一条流水线上的工作

  这些,我们目前会操作即可。

  10. 时间相关指令

  💛 显示日期

  💛 可以格式化输出 ——

  %H 小时.(00..23)

  %M 分钟.(00..59)

  %S 秒.(00..61)

  %X 相当于 %H:%M:%S

  %Y 完整年份. (0000..9999)

  %m 月份. (01..12)

  %d 日. (01..31)

  %F 相当于 %Y-%m-%d

  复制代码

  💜 时间戳

  Unix时间戳(Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日0时0分0秒(UTC/GMT的午夜)开始累计到现在的秒数,不考虑闰秒。

  💛 1. 将时间转化为时间戳

  date +%s

  复制代码

  💛 2. 将时间戳转化为时间

  date -d @时间戳

  复制代码

  11. cal指令

  💛 查看日历信息,本身没有太大价值

  默认显示当前月、前一个月、后一个月的日历信息

  12. find指令(很重要)

  💛 查找指定文件

  man find

  复制代码

  可以看到它的选项很多且复杂。(我就不贴图片了)

  💛 常用选项 :按照文件名查找文件

  find pathname -name filename

  复制代码

  第一次的查找会相对慢一些,因为它会访问这颗多叉树、访问磁盘,第二三次会快一些。

  13. grep指令

  💛 行过滤工具

  grep [选项] 搜寻字符串 文件

  复制代码

  常用选项

  grep -v 反向匹配

  复制代码

  grep -i 忽略大小写的不同

  grep -n 输出行号

  复制代码

  14. 打包压缩解压之类

  在Linux下,打包压缩的指令很多,遇到不知道的压缩格式,复制后缀名现查现学即可。

  14.1 zip/unzip指令

  介绍它,因为它够简单,并且和windows下zip采用的是相同的压缩算法。

  zip file.zip file 压缩

  unzip file.zip 解压

  复制代码

  💛 1. 对普通文件可以直接压缩,且压缩效率很高

  💛 2. 对目录无法直接压缩,需要递归处理

  那怎么办呢?其实学了这么多了,就知道要递归处理

  zip -r dir.zip dir/

  复制代码

  💛 3. 如何解压到特定路径

  unzip file.zip -d unzippath/

  复制代码

  14.2 tar指令

  有关tar的选项那也是非常多,不过我们重点掌握一对儿指令就行。

  💛 1. 压缩

  tar czf file.tgz file

  复制代码

  注:

  后缀名tar.gz常简写为tgz

  -写不写取决于你的环境,我试了一下我的,写不写都行。

  有关当中的选项 ——

  -c 建立一个压缩文件的参数指令.(create 的意思)

  -z 是否同时具有gzip的属性?亦即是否需要用gzip压缩(没错,你可以只打包不压缩)

  -f 指明特定文件,注意!后面紧跟新文档名称!不要再加参数!

  复制代码

  有时你会看到-v选项,这会显示压缩过程,你怎么招都行

  tar czvf file.tgz file

  tar cvzf file.tgz file

  复制代码

  💛 2. 解压缩

  这个.tgz文件我挪不动,所以在演示解压之前,我先把这个lesson2干掉,再来,

  tar xzf file.tgz

  复制代码

  相关选项

  -x 解开一个压缩文件的参数指令

  复制代码

  💛 3. 解压到指定路径

  tar xzf file.tgz -C path

  复制代码

  15. bc指令

  💛 有趣无趣的命令,Linux中的计算器,quit退出。

  bc配合管道

  16. uname指令

  💛 本身意义不大,查看属性信息

  选项

  -a 查看详细信息.(all)

  复制代码

  这里有两个要注意的小点

  服务器上的操作系统选择经典的版本。

  17. 热键

  💚 [Tab] 命令补全

  💚 [history] 显示历史命令

  会记录历史命令,所以你[ctrl + r]才记录的到啊。

  💚 [ctrl + R] 根据你的记忆碎片搜索历史指令

  💚 [ctrl + c] 退出程序

  💚 [ctrl + d] ①退出腾讯云 ②退出xshell

  18. 关机

  注意了啊!云服务器不要关机!下面这些你想试上虚拟机上试去~

  shutdown [选项]

  -h : 将系统的服务停掉后,立即关机。

  -r : 在将系统的服务停掉之后就重新启动

  -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

  19. 扩展命令

  ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

  ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

  ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;

  ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

  ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;

  ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:中华人民共和国数据安全法
下一篇:Linux的远程方法介绍与配置
  >> 相关文章
没有相关文章。
0

在线
客服

在线客服服务时间:9:00-18:00

客服
热线

19899115815
7*24小时客服服务热线

关注
微信

关注官方微信
顶部