【Linux】常见指令(一)

举报
平凡的人1 发表于 2022/11/15 23:52:59 2022/11/15
【摘要】 @[toc]前面我们已经学习了关于云服务器搭建的过程,下面,我们来正式开始操作指令。开始之前,我们来了解几个概念。 操作系统简述(OS)操作系统处于软硬件之间,起承上启下的效果。对上给应用提供接口,所以软件可以被编写出来。操作系统是管理软件,管理软硬件对上:提供良好稳定安全的运行环境对下:管理软硬件资源学习命令行指令是我们学习操作系统非常重要的手段在发展上,我们是先有键盘然后才有鼠标的,这也...

@[toc]
前面我们已经学习了关于云服务器搭建的过程,下面,我们来正式开始操作指令。

开始之前,我们来了解几个概念。

操作系统简述(OS)

image-20220919102414865

操作系统处于软硬件之间,起承上启下的效果。对上给应用提供接口,所以软件可以被编写出来。

操作系统是管理软件,管理软硬件

对上:提供良好稳定安全的运行环境

对下:管理软硬件资源

学习命令行指令是我们学习操作系统非常重要的手段

在发展上,我们是先有键盘然后才有鼠标的,这也就意味着先有的命令行式才有的图形界面化式

下面,我们来登录我们的Xshell


文件

目录和文件是在磁盘上建立的,空文件是在磁盘上占用空间的(文件包括文件内容和文件的各种属性/元数据)即使本身没有内容,文件的各种属性也要占用空间。既文件等于文件内容数据加上文件属性数据

目录——>文件夹——>保存其他文件

登录root用户

登录指令 ssh root@+IP

image-20220919130923533

现在,输入我们设置的密码

image-20220919131225536

登录完成

如果要退出的话:Ctrl+d

image-20220919142118529

怎么去查看当前的用户❓whoami

[root@VM-8-3-centos home]# whoami
root


常用指令

pwd

语法: pwd
功能:显示用户当前所在的目录

[root@VM-8-3-centos ~]# pwd
//显示当前用户所在的路径
/root

在Windows下,我们很容易就能够找到路径:在这里\就是路径分隔符

image-20220919163834051

而在Linux下,是以/作为路径分隔符。

那为什么要以路径标识一个文件❓从根目录到所在文件的路径具有唯一性

说到路径,这就要说到绝对路径和相对路径了

绝对路径:从根目录开始,依次按树状结构向后进行查找定义称为绝对路径

相对路径:相对于当前所处的路径,当前的相对位置查找所处的位置

ls 指令

语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

[root@VM-8-3-centos ~]# ls
//显示当前路径下的文件或目录名称
106  a  dir  test.c  thj

而一条命名除了本身,还可以携带选项

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

这里的携带选项比较多,我们可以选几个出来看一看。

[root@VM-8-3-centos ~]# ls -l
//显示当前路径下的文件或者目录的更详细的属性信息
total 16
drwxr-xr-x 2 root root 4096 Sep 18 12:28 106
drwxr-xr-x 3 root root 4096 Sep 18 12:11 a
-rw-r--r-- 1 root root    0 Sep 17 19:32 dir
-rw-r--r-- 1 root root  105 Sep 17 23:08 test.c
drwxr-xr-x 3 root root 4096 Sep 19 09:56 thj

[root@VM-8-3-centos ~]# ls -al
total 92
dr-xr-x---. 11 root root  4096 Sep 19 10:04 .
dr-xr-xr-x. 20 root root  4096 Sep 19 15:31 ..
drwxr-xr-x   3 root root  4096 Sep 19 15:28 106
drwxr-xr-x   3 root root  4096 Sep 18 12:11 a
-rw-------   1 root root 13170 Sep 19 15:31 .bash_history
-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root   176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root   176 Dec 29  2013 .bashrc
drwxr-xr-x   3 root root  4096 Sep  6 23:14 .cache
drwxr-xr-x   3 root root  4096 Sep  6 23:14 .config
-rw-r--r--.  1 root root   100 Dec 29  2013 .cshrc
-rw-r--r--   1 root root     0 Sep 17 19:32 dir
-rw-r--r--   1 root root     0 Sep 17 19:27 .file
drwxr-xr-x   2 root root  4096 Sep 17 19:33 .hello
drwxr-xr-x   2 root root  4096 Jul 25 17:53 .pip
-rw-r--r--   1 root root    73 Sep  6 22:36 .pydistutils.cfg
drwx------   2 root root  4096 Sep  6 22:36 .ssh
-rw-r--r--.  1 root root   129 Dec 29  2013 .tcshrc
-rw-r--r--   1 root root   105 Sep 17 23:08 test.c

image-20220919153925874

我们看到ls如果带-a选项,会出现一个点和两个点。在这里

一个点表示当前路径,两个点表示上级路径。比如下面的cd …返回上级路径。

在Linux中,以点开头的文件我们叫做隐藏文件

ls -a:显示所有文件,包括隐藏文件。也就是说,ls不显示隐藏文件

其实,也就相当于windows下的查看隐藏文件

image-20220919160208498

除ls - l之外,linux下还有特定的指令:ll显示的结果是一样的

image-20220919161004598

而对于ls -Rl,就是展开子目录下的文件

[root@VM-8-3-centos ~]# ls -Rl
.:
total 16
drwxr-xr-x 3 root root 4096 Sep 19 15:28 106
-rw-r--r-- 1 root root    0 Sep 19 16:13 106.txt
drwxr-xr-x 3 root root 4096 Sep 18 12:11 a
-rw-r--r-- 1 root root    0 Sep 17 19:32 dir
-rw-r--r-- 1 root root  105 Sep 17 23:08 test.c
drwxr-xr-x 3 root root 4096 Sep 19 09:56 thj

./106:
total 4
drwxr-xr-x 2 root root 4096 Sep 19 15:28 106

./106/106:
total 0

./a:
total 4
drwxr-xr-x 3 root root 4096 Sep 17 23:10 b

./a/b:
total 4
drwxr-xr-x 3 root root 4096 Sep 17 23:10 c

./a/b/c:
total 4
drwxr-xr-x 2 root root 4096 Sep 17 23:10 d

./a/b/c/d:
total 0

./thj:
total 4
drwxr-xr-x 2 root root 4096 Sep 19 10:04 test

./thj/test:
total 16
-rwxr-xr-x 1 root root 8968 Sep 19 09:58 a.out
-rw-r--r-- 1 root root   99 Sep 19 10:04 test.cpp

cd指令

cd 指令,在Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

image-20220919144757803

类似于树形结构,分为叶子节点和路上节点。对于叶子节点,既最后一层,可以有普通文件或者空目录,而路上节点只能是目录。

说到这里,我们可以通过指令tree .(安装命令: yum install -y tree)来显示树状目录

image-20220919170746391

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录

cd就简单的就是带上你想去的路径

[root@VM-8-3-centos ~]# cd 106
//切换路径,进入不同的路径下操作
[root@VM-8-3-centos 106]# pwd
/root/106

cd…回退上级路径(如果一直回退,最终会无法回退,只会到根目录/)

[root@VM-8-3-centos ~]# pwd
/root
[root@VM-8-3-centos ~]# cd ..
//返回到根目录
[root@VM-8-3-centos /]# pwd
/
[root@VM-8-3-centos /]# 

下面我们来看一看cd -指令:进入当前用户的工作目录。即默认登陆所处的目录(这里我提前登录到了自己创建的用户,自己创建了不止一个用户哟

image-20220919182416622

我们先进入一个目录,然后进行cd -,就会返回到最近的访问目录,然后在cd -,就又会返回到刚刚进入的目录。也就是说,会进行来回切换。

touch指令

touch是一个Linux下创建普通文件的命令

image-20220919183305588

语法:touch [选项]… 文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:

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

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

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

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

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

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

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

除此之外,我们还可以去查看文件时间

image-20220919183527389

查看时间之外我们可以利用touch去更新时间:

image-20220919213348110

mkdir指令

语法: mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

image-20220919213645041

mkdir只能创建一个空目录

image-20220919213726724

想创建一串路径需要带-p,最后我们来看看是否成功了:

image-20220919214153136

我们也可以创建一个空的目录:

image-20220924220249906

rmdir指令 && rm 指令

rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令。所以rmdir是用来删除空目录的。

语法: rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

rm默认删除普通文件

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。rm命令可以同时删除文件或目录

语法: rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

  • -f即使文件属性为只读(即写保护),亦直接删除(强制)
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件(递归删除

删库跑路:rm -rf /

man指令

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

man 语法: man [选项] 命令

开始之前,记得确认自己是否有安装man手册(在root用户下:yum install -y man-pages)

常用选项

  • -k 根据关键字搜索联机帮助

  • num 只在第num章节找

  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

    解释一下,面手册分为8章

1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

举个简单的例子:

[root@VM-8-3-centos test]# man 3 printf
[root@VM-8-3-centos test]# 

image-20220925121620935

cp指令

语法: cp [选项] 源文件或目录 目标文件或目录

cp[选项] src dest

功能: 拷贝文件或目录(拷贝不是剪切)

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户.同rm

[root@VM-8-3-centos test]# tree .
.
|-- cp_file
|   `-- file.txt
|-- file1.txt
|-- file2.txt
|-- file3.txt
|-- file.txt
`-- toot4

1 directory, 6 files
[root@VM-8-3-centos test]# cp file1.txt cp_file/
[root@VM-8-3-centos test]# cp -i file1.txt cp_file/
cp: overwrite ‘cp_file/file1.txt’? n

-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。