Linux基础-2、基本命令

了解完Linux的相关的基础知识之后,我们来了解了解Linux的基本命令吧!

1、目录管理

首先我们先回顾下相对路径和绝对路径的一些知识:

绝对路径是啥啊,就是我们平常计算机上那些能表示一个文件位置,唯一的一个路径。

比如说D:\WeChat\wechat.exe 就是个绝对路径。

相对路径就是相对我们当前所处目录,那个文件的具体位置。

其中…代表上一级目录。

比如说我们现在在D:\WeChat\locales里,想去访问D:\WeChat\zjj这里。

需要通过cd…\zjj这个命令来。

我们先来看看一些常用命令!

  • ls: 列出目录
  • cd:切换目录
  • pwd:显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录,或修改文件与目录的名称

我们分别来试试。

ls

ls可以列出目录中的东西,就有点像我们的眼睛一样,想看啥看啥。后面跟上需要看的目录即可,下面是根目录下的文件夹。

其中后面还可以跟两个参数。

  • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)

  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

    -  ls -al /      #列出根目录下所有文件(包括隐藏文件的具体信息)
    

cd

cd一般用于切换目录,这个命令与我们在windows cmd中的操作基本一致。

 cd home                #进入home目录cd ../media            #从home目录中进入media目录cd /                   #回根目录

pwd

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

我们这是在根目录。

mkdir

想创建目录就用mkdir

mkdir 后面添加目录名即可创建!如图可以发现我们在home目录中创建了zjj目录。

这里还有两个可选参数

  • -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

我们创建多层级文件夹试试。

我们发现压根就不能创建,这是因为平常的mkdir只能创建单级目录,要想创建多级目录需要递归创建,在mkdir后面要加-p.

加了-p之后,创建成功!

rmdir

删除目录咋办啊?这时我们使用rmdir,不过他只能删除空的目录。

比如说我们想删除slsl目录

 rmdir slsl

这样就删除了,与mkdir同样,如果想递归删除的话需要在后面加上-p

比如说我们想删除下zjj目录,我们就需要再后面加-p(因为里头有个smlm目录。)

rmdir -p zjj/smlm            #将zjj/smlm一并删除

cp

复制东西就用cp嘞。

其中还包含以下参数:

  • **-a:**相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
  • **-p:**连同文件的属性一起复制过去,而非使用默认属性(备份常用);
  • **-d:**若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
  • **-r:**递归持续复制,用於目录的复制行为;(常用)
  • **-f:**为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
  • **-i:**若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
  • **-l:**进行硬式连结(hard link)的连结档创建,而非复制文件本身。
  • **-s:**复制成为符号连结档 (symbolic link),亦即『捷径』文件;
  • **-u:**若 destination 比 source 旧才升级 destination !

我们来试试

cp /root/install.sh /home          #拷贝/root下的install.sh到 home里

最后发现确实有的!

rm

删除文件一般我们使用rm命令

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

这里我们还是试一下

 rm -i install.sh     #删除install.sh 再删除前进行确认

这里还有一个梗,大家老能在网上调侃程序员说要删库跑路,其实常用的就是这条指令

 rm -rf /           #递归删除根目录下所有文件,并且不会提示任何警告信息

千万别瞎尝试hhhh

mv

如果我们想移动文件或者修改文件的名称,我们常用mv命令

其中还是包含以下参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

试试!

我们试试把当前目录下的install.sh移动到根目录下

mv install.sh /     #把当前目录下的install.sh移动到根目录下

还真有!

想给他改个名字咋办

mv第二个参数不写目录,直接写要改的名字就行啦!

  mv install.sh  test         #把install.sh重命名为test

改完了!

2、文件管理

(1)文件属性

我们在使用ls -l查看文件的时候可以看到这么一组东西,

这到底是干啥的?

其实这正好对应着我们文件属性以及类别的内容,各位可以根据这一串东西来判定该文件的类别以及权限属性,是不是非常神奇?

首先我们这串东西的第一位代表着文件的类别,主要来说分为以下几种。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);(指向另一个东西的文件,就有点像快捷方式那样子)
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

再之后的9位代表文件的权限,按每三位为一组,分别代表属主,属组以及其他用户的权限。其中r代表读,w代表写、x代表执行,如果没有相关权限就会用-表示,下面的图可以使大家更好理解。

上面这个文件的类型是目录文件,属主拥有全部读写执行的权限,属组和其他用户没有写的权限。

更改文件属性

有文件属性这么个东西,我们当然是可以根据自己的需要进行修改,主要要使用以下几个命令。

1、chgrp:更改文件属组(不常用)

语法:

以下的-R都是递归操作的意思

chgrp [-R] 属组名 文件名

2、chown:更改文件属主,也可以同时更改下文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

我们来试一下这个命令,改一下文件的属主以及属组。下面是文件最开始的信息。

执行下

chown xjj:xjj install.sh                       #将属主和属组改为xjj

3、chmod:更改文件9个权限属性

在chmod指令中,我们不使用传统的rwx来表示权限,而是使用阿拉伯数字对权限进行表示,r为4,w为2,x为1,将每一个用户类别的权限相加,得到唯一一位不大于7的阿拉伯数字就是其拥有的权限。

-rwxrwxrwx

比如说它的权限就是777,

rwxrwx–

它的权限是770

chmod的具体语法如下:

 chmod [-R] xyz 文件或目录

我们来试着改一下!

发现权限更改成功!

文件查看

最重要的看文件怎么能少不了呢?看文件主要使用以下命令:

1、cat

由第一行开始显示文件内容

选项与参数:

  • -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
  • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
  • -E :将结尾的断行字节 $ 显示出来;
  • -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
  • -T :将 [tab] 按键以 ^I 显示出来;
  • -v :列出一些看不出来的特殊字符

我们来试一下:

2、tac

如果我们想倒着读,用tac就可。

3、nl

大家伙到这会不会有些问题,如果我们想让这文件显示行号咋整?除了在cat和tac后面加参数,linux还为我们提供了一个命令,那就是nl命令。

选项与参数:(不常用)

  • -b :指定行号指定的方式,主要有两种:
    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
    -b t :如果有空行,空的那一行不要列出行号(默认值);
  • -n :列出行号表示的方法,主要有三种:
    -n ln :行号在荧幕的最左方显示;
    -n rn :行号在自己栏位的最右方显示,且不加 0 ;

试一下:

发现确实在前面增加了行号嘞。

4、more

当我们的文件太长,需要一页一页的翻动时,我们一般会使用more命令,在more命令执行中也可以按这几个键。

  • 空白键 (space):代表向下翻一页;
  • Enter :代表向下翻『一行』;
  • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
  • :f :立刻显示出档名以及目前显示的行数;
  • q :代表立刻离开 more ,不再显示该文件内容。
  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

我们快来试试:

5、less

less是加强版的more,可以往上翻页。

在操作时可以有以下的命令

  • 空白键 :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup] :向上翻动一页;
  • /字串 :向下搜寻『字串』的功能;
  • ?字串 :向上搜寻『字串』的功能;
  • n :重复前一个搜寻 (与 / 或 ? 有关!)
  • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • q :离开 less 这个程序;

我们来试一试

发现显示照常!并且还可以通过上下键进行翻页

6、head、tail

取出文件的前几行用head,反之取出文件的后几行可以用tail。在指令后面添加-n 行数即可。

如下就是显示前20行的命令。

7、硬链接、软链接

硬链接:两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。(就有点像你拷贝出来备份了一个,删了一个不影响另一个的使用)

软链接:相反,软链接就有点像我们平常所说的快捷方式,如果源文件删了,他就没啥用了。

下面我们来测试下吧!

[root@s6 home]# touch jj             #在这里我们使用touch命令创建一个jj文件
[root@s6 home]# ls
jj  www  xjj
[root@s6 home]# ln jj jj1            #使用ln命令为jj创造jj1的硬链接
[root@s6 home]# ln -s jj jj2         #添加-s为jj创造jj2软链接
[root@s6 home]# ls
jj  jj1  jj2  www  xjj
[root@s6 home]# echo "jj handsome" >>jj    #往jj里写入一段话

这里我们用到了touch命令以及echo命令

touch主要就是用于创建一个文件

echo是用来往文件中写入东西的

输出一下

[root@s6 home]# cat jj
jj handsome
[root@s6 home]# cat jj1
jj handsome
[root@s6 home]# cat jj2
jj handsome

不出所料,可以显示的!

这时我们将jj删除,看看会发生啥情况。

我们发现jj2变红了,这里变红说明他的源文件已经丢失了。

输出一下:

[root@s6 home]# cat jj1
jj handsome
[root@s6 home]# cat jj2
cat: jj2: No such file or directory             #已经找不到了。。

Linux基础-2、基本命令相关推荐

  1. Linux基础(一)基本命令

    Linux基础(一)基本命令 Linux的文件系统 Linux的终端命令 ls指令 cd指令 mkdir 指令 rm 指令 pwd 指令 touch 指令 mv 指令 cp 指令 tar 指令 fin ...

  2. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  3. Linux基础第一周

    Linux基础第一周 命令的格式 command(命令)option(选项)arguments(参数)三部分组成,之间需要空格间隔 options 选项 启用命令的某项功能,从而更改命令的功能 arg ...

  4. linux基础系统命令大全

    文章目录 linux操作系统命令大全 一:了解linux基础命令 1.2:bash简介 二:linux基本命令 [1]:切换目录-cd [2]:重启启动和关闭系统 [3]:vlock锁住终端会话 [4 ...

  5. Linux基础知识--2.Linux的文件系统和bash的基础特性(1)

    Linux基础知识--linux的文件系统和bash的基础特性 一.Linux文件系统: Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux ...

  6. linux文本运行层次,Linux基础知识之---文件系统层级结构

    #Linux基础知识之---文件系统层级结构 @(Linux系统)[基础知识,文件系统,层级结构,FHS] 一切皆文件: 在Linux中,无论是目录.配置.cpu.内存.键盘.鼠标.或者运行中的系统及 ...

  7. Linux基础,命令的使用以及环境的安装,jdk,mysql,tomcat

    Linux基础 1. Linux简介 1.1 Linux的概述 林纳斯·托瓦兹 linux 1.2 Linux的发展史 Linux 操作系统的诞生.发展和成长过程始终依赖着五个重要支柱:UNIX 操作 ...

  8. 百战RHCE(第一战:Linux基础命令1)

    哈喽哈喽哈喽,大家好啊,很高兴大家能看到这篇文章! 首先,本人目前是计算机专业的大一学生,基于对Linux操作系统的爱好,参与了RHCE的培训班,而我这次编写的 <百战RHCE>文章,是基 ...

  9. Linux基础与部署

    Linux基础与部署 一.Linux概述[了解] Linux是一种操作系统.操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在" ...

最新文章

  1. RabbitMQ 七种队列模式应用场景案例分析(通俗易懂)
  2. SAP WM Interview Questions
  3. java 整合hadoop_Spark 如何摆脱java双亲委托机制优先从用户jar加载类?
  4. ReLu(Rectified Linear Units)激活函数
  5. IntelliJ IDEA——连接Apache Hive时 “Database” Plugin错误[enabling autocommit is not supported.]解决方案
  6. uboot启动流程概述_Alibaba Cloud Linux 2 LTS OS 启动优化实践
  7. [javase] 1.请从键盘随机输入10个整数保存到List中,并按倒序、从大到小的顺序显示出来...
  8. 非专业人士观点(3)不要假如
  9. 分布式框架开发环境部署
  10. HDU 6070 Dirt Ratio
  11. Spring源码系列(五)——@Aspect源码解析
  12. PhotoScan软件进行无人机数据处理流程
  13. 弗兰克·盖里为华纳兄弟设计新总部,犹如漂浮在高速公路的‘冰山’
  14. java中List 的Stream常用的几种用法
  15. html语言中空一行,用html代码如何打出心型(中空)符号?
  16. Navicat 快捷键说明
  17. Android作为客户端,PC作为服务端:实现网络通信
  18. 信息收集--OSINT
  19. 那些年,我们用过的地图下载器
  20. 如何将照片格式转换jpg?

热门文章

  1. gt710显卡驱动linux,Ubuntu18.04导入nVidiaGT710显卡
  2. 到底多大并发才算高并发?
  3. 计算机图形学(四)几何变换_5_三维空间的几何变换_1_三维平移
  4. 2022 全球网络黑客常用攻击方法 Top10
  5. 51Nod - 1247 找规律
  6. AVI视频封装格式(阅读笔记)
  7. 中国石油大学(北京)-《石油加工工程》第一阶段在线作业
  8. 语音相关的数据集-5个数据集
  9. P3P解决cookie存取的跨域问题
  10. 华为机试练习(七)书籍叠放问题