IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> [ Linux 长征路第一篇] 基本指令(1) -> 正文阅读

[系统运维][ Linux 长征路第一篇] 基本指令(1)

从今天开始我会持续更新我学习Linux的学习笔记。今天主要学习Linux下基本指令。

目录

1.Linux下基本指令

01.ls 指令

02.pwd命令

03.cd指令

04.touch命令

05.mkdir命令

06.rmdir指令&&rm指令

07.man指令

08.cp指令

09.mv指令

10. cat指令

11.more指令

12.less指令


1.Linux下基本指令

1.为什么要进行指令操作?

因为指令距离OS更近,便于我们更好的掌握OS。

指令操作对于非专业人员来说没有必要学习,对于专业人员可以必要也可以不必要。但是对于我们学习OS原理,编程,指令操作必须需要掌握。

2.图像化界面不香吗?那是先有指令还是现有图形化界面呢?

答案是:先有指令。

我们要进行指令输入需要键盘,进行图形化界面需要鼠标。所有的操作系统,刚开始的时候全部都是支持指令操作的。但是由于指令操作的操作成本高因此在后期慢慢就出现了图形化界面。

01.ls 指令

语法 ls [ 选项 ][ 目录或文件 ]
功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
1:?-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
2:-d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
3:-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
4:-k k 字节的形式表示文件的大小。 ls –alk 指定文件
5:-l 列出文件的详细信息。
6:-n 用数字的 UID,GID 代替名称。 (介绍 UID GID
7:-F 在每个文件名后附上一个字符以说明该文件的类型, “*” 表示可执行的普通文件; “/” 表示目录; “@” 表示符号链接;“|” 表示 FIFOs “=” 表示套接字 (sockets) 。(目录类型识别)
8:-r 对目录反向排序。
9:-t 以时间排序。
10:-s l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
11:-R 列出所有子目录下的文件。 ( 递归 )
12:-1 一行只输出一个文件。

ls? #只显示文件名

[root@VM-20-12-centos 22_06_02_lesson4]# ls
tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# mkdir code
[root@VM-20-12-centos 22_06_02_lesson4]# ls
code  tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# touch mytest.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
code  mytest.c  tar_package

ls -l? #显示文件的更多属性

[root@VM-20-12-centos 22_06_02_lesson4]# ls -l
total 8
drwxr-xr-x 2 root root 4096 Jun 15 12:54 code
-rw-r--r-- 1 root root    0 Jun 15 12:54 mytest.c
drwxr-xr-x 3 root root 4096 Jun  2 19:59 tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# 

ls -a #显示更多的隐藏文件

Linux中以 . 开头的是隐藏文件

[root@VM-20-12-centos 22_06_02_lesson4]# ls -a
.  ..  code  mytest.c  tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# ls -a -l
total 16
drwxr-xr-x   4 root root 4096 Jun 15 12:54 .
dr-xr-x---. 10 root root 4096 Jun  2 18:37 ..
drwxr-xr-x   2 root root 4096 Jun 15 12:54 code
-rw-r--r--   1 root root    0 Jun 15 12:54 mytest.c
drwxr-xr-x   3 root root 4096 Jun  2 19:59 tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# 

在任意目录下,都会存在两个隐藏文件 其中 一个. (当前路径)? ..(上级路径)

我们在当前路径下怎么返回上级路径呢?我们就可以使用cd ..

[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# cd ..
[root@VM-20-12-centos ~]# pwd
/root

.(当前路径)有什么用?

作为一个限定,表示我要执行当前路径下的程序。比如我们写一段C语言程序,要这行这个结果,我们要使用./a.out

[root@VM-20-12-centos 22_06_02_lesson4]# vim mytest.c
[root@VM-20-12-centos 22_06_02_lesson4]# gcc mytest.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out  code  mytest.c  tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# cat mytest.c
#include <stdio.h>
int main()
{
   printf("Hello Linux\n");
   return 0;
}
[root@VM-20-12-centos 22_06_02_lesson4]# ./a.out
Hello Linux
[root@VM-20-12-centos 22_06_02_lesson4]# 

总结:ls核心命令就是ls -a和 ls -l 指令

02.pwd命令

语法 : pwd
功能 :显示用户当前所在的目录? 查看当前所处的路径
[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# 

03.cd指令

Linux的目录结构本质是一颗多叉树。

1.每一个子节点,既可以是一个目录(再放目录或者普通作业,递归式的定义),也可以是一个普通文件。

2.这课多叉树的叶子结点,一定是一个普通文件或者空目录。

语法 :cd 目录名
功能 :改变工作目录。将当前工作目录改变到指定的目录下。
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

?我们一般通过“定位”,通过路径定位的方式找到文件的!那为什么我们都是通过路径方式定位文件的呢?

这是因为任何一个节点可以有很多子节点,但是只能有一个父节点。因此常规的路径定位是具有唯一性的!

绝对路径:常规路径,从跟目录开始直到目的节点的这条路径。

相对路径:相对于我当前所处的路径。

结论:如果是日常使用,我们推荐相对路径(简单);如果是进行添加配置文件之类,推荐绝对路径(不会出错)

[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# cd ../
[root@VM-20-12-centos ~]# pwd
/root
[root@VM-20-12-centos ~]# cd ../
[root@VM-20-12-centos /]# pwd
/

cd ~ :进入用户家目

[root@VM-20-12-centos 22_06_02_lesson4]# cd ~
[root@VM-20-12-centos ~]# pwd
/root

?cd -:跳转至我上一次所处的路径

[root@VM-20-12-centos 22_06_02_lesson4]# cd ~
[root@VM-20-12-centos ~]# pwd
/root
[root@VM-20-12-centos ~]# cd -
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# pwd
/root/22_06_02_lesson4
[root@VM-20-12-centos 22_06_02_lesson4]# 

04.touch命令

语法 :touch?[ 选项 ]...? 文件 ...
功能 touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项
-a??? --time=atime --time=access --time=use 只更改存取时间。
-c??? --no-create? 不建立任何文档。
-d? 使用指定的日期时间,而非现在的时间。
-f? ?? 此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。
-m??? --time=mtime --time=modify? 只更改变动时间。
-r? ? 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t? ? 使用指定的日期时间,而非现在的时间
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out  code  mytest.c  tar_package
[root@VM-20-12-centos 22_06_02_lesson4]# touch test.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out  code  mytest.c  tar_package  test.c
[root@VM-20-12-centos 22_06_02_lesson4]# nano test.c
[root@VM-20-12-centos 22_06_02_lesson4]# gcc test.c
[root@VM-20-12-centos 22_06_02_lesson4]# ls
a.out  code  mytest.c  tar_package  test.c
[root@VM-20-12-centos 22_06_02_lesson4]# ./a.out
Hello World
[root@VM-20-12-centos 22_06_02_lesson4]# 

05.mkdir命令

语法 mkdir?[ 选项 ]?dirname...
功能 :在当前目录下创建一个名为 “dirname” 的目录

我们想创建一长串目录,我们可以使用,mkdir -p

-p,?--parents?? 可以是一个路径名称。此时若路径中的某些目录尚不存在 , 加上此选项后 , 系统将自动建立好那些尚不存在的目录, 即一次可以建立多个目录 ;
[root@VM-20-12-centos 22_06_15]# mkdir -p dir1/dir2/dir3/dir4
[root@VM-20-12-centos 22_06_15]# ls
dir1
[root@VM-20-12-centos 22_06_15]# cd dir1
[root@VM-20-12-centos dir1]# ls
dir2
[root@VM-20-12-centos dir1]# cd dir2
[root@VM-20-12-centos dir2]# ls
dir3
[root@VM-20-12-centos dir2]# cd dir3
[root@VM-20-12-centos dir3]# ls
dir4
[root@VM-20-12-centos dir3]# cd dir4
[root@VM-20-12-centos dir4]# ls
[root@VM-20-12-centos dir4]# pwd
/root/code/22_06_15/dir1/dir2/dir3/dir4

06.rmdir指令&&rm指令

rmdir 是一个与 mkdir 相对应的命令。 mkdir 是建立目录,而 rmdir 是删除命令。
语法 rmdir [-p][dirName]
适用对象 :具有当前目录操作权限的所有使用者
功能 :删除空目录

如果我们想删掉空目录可以是用rmdir指令

删除空目录(不常用)

[root@VM-20-12-centos 22_06_15]# rmdir dir1
rmdir: failed to remove ‘dir1’: Directory not empty
[root@VM-20-12-centos 22_06_15]# ls
dir1

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除?

删除普通文件(常用)

rm 命令可以同时删除文件或目录
语法 rm [-f-i-r-v][dirName/dir]
适用对象 :所有使用者
功能 :删除文件或目录
常用选项
-f 即使文件属性为只读 ( 即写保护 ) ,亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
[root@VM-20-12-centos 22_06_15]# touch test.txt
[root@VM-20-12-centos 22_06_15]# ls
dir1  test.txt
[root@VM-20-12-centos 22_06_15]# rm test.txt
rm: remove regular empty file ‘test.txt’? y
[root@VM-20-12-centos 22_06_15]# ls
dir1

如果要删除目录,使用rm-r

[root@VM-20-12-centos 22_06_15]# rm -r dir1
rm: descend into directory ‘dir1’? y
rm: descend into directory ‘dir1/dir2’? y
rm: descend into directory ‘dir1/dir2/dir3’? y
rm: remove directory ‘dir1/dir2/dir3/dir4’? y
rm: remove directory ‘dir1/dir2/dir3’? y
rm: remove directory ‘dir1/dir2’? y
rm: remove directory ‘dir1’? y
[root@VM-20-12-centos 22_06_15]# ls

此时我们发现dir1下的文件被全部删掉,我们在删除的过程中发现系统会询问你确定要删除?如果我们不想这个提示弹出的话,我们可以使用rm -f ,此命令表示强制删除。

[root@VM-20-12-centos 22_06_15]# touch test.txt
[root@VM-20-12-centos 22_06_15]# mkdir -p dir1/dir2/dir3/dir4
[root@VM-20-12-centos 22_06_15]# ls
dir1  test.txt
[root@VM-20-12-centos 22_06_15]# rm -f test.txt
[root@VM-20-12-centos 22_06_15]# ls
dir1
[root@VM-20-12-centos 22_06_15]# rm -r -f dir1
[root@VM-20-12-centos 22_06_15]# ls
[root@VM-20-12-centos 22_06_15]# 

07.man指令

Linux 的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问 Linux 手册页的命令是 man
语法 : man [ 选项 ] 命令
常用选项:
1.-k 根据关键字搜索联机帮助
2.num 只在第 num 章节找
3.-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用 a 选项,当按下q 退出,他会继续往后面搜索,直到所有章节都搜索完毕。
man手册没有的问题:
如果是第一次使用Linux的朋友这里需要切换root用户,输入:yum install -y man-pages

类似于这里我们查一下printf的帮助手册?

08.cp指令

类似于win中的复制粘贴功能

语法 cp [ 选项 ] 源文件或目录 目标文件或目录
功能 : 复制文件或目录
说明 : cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项
-f --force? 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
-R --recursive 递归处理,将指定目录下的文件及子目录一并处理

?

?如果拷贝文件:

09.mv指令

mv 命令是 move 的缩写,可以用来移动文件或者将文件改名( move?(rename)?fifiles ),是 Linux 系统下常用的命令,经常用来备份文件或者目录。
语法 : mv?[ 选项 ]? 源文件或目录 目标文件或目录
功能 :
1. mv 命令中第二个参数类型的不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。
常用选项
-f? force? 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i? :若目标文件 ?(destination)? 已经存在时,就会询问是否覆盖!

?剪切功能:

重命名:

10. cat指令

语法cat [选项][文件]

功能 : 查看目标文件的内容,比较适合查看短文本。
常用选项
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

?

11.more指令

语法 more [ 选项 ][ 文件 ]
功能 more 命令,功能类似 cat
常用选项
-n 对输出的所有行编号
q 退出 more

我们先伪造一个10w行的长文本

cnt=1; while [ $cnt -le 100000 ];do echo "hello world $cnt"; let cnt++; done > hello.txt

准备工作做好之后,我们发现如果想看文本的话,使用cat我们只能看到后面的几行,如果我们想看到中间的某行就不能解决问题了。

那我们可以使用more

?输入/行数

?

12.less指令

less? 工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极其强大。
less? 的用法比起 ?more? 更加的有弹性。在 ?more? 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了?less? 时,就可以使用 ?[pageup][pagedown]? 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 ?less? 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法:
less [ 参数 ] 文件
功能
less more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前 不会加载整个文件。
选项
-i?? 忽略搜索时的大小写
-N?? 显示每行的行号
/ 字符串:向下搜索 字符串 的功能
? 字符串:向上搜索 字符串 的功能
n :重复前一个搜索(与 ?/? ??? 有关)
N :反向重复前一个搜索(与 ?/? ??? 有关)
q:quit
less可以上翻和下翻,更推荐使用less

按上和下键可以支持先后翻

less命令可以帮助我们的文本,可以进行日志的查看。

(本篇完)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-20 23:09:26  更:2022-06-20 23:09:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 22:07:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码