Linux--命令行操作

一、Linux的作用

1.简单的文件操作

2.编程

3.支持系统和网络

二、多账号管理

1、我们需要在root账号下进行,可以用whoami来查询账号身份

2、adduser 你要创建的账号名 就可以创建一个账号

3、ls /home可以查看账号是否创立

4、使用passwd 创建账号名字的来设置账号密码(注意账号不会回显)

5、当我们进入时使用命令ssh 账户名字@你自己的公网ip就可以了

三 、 Liux常见命令行操作

在讲解命令行之前,提出一个问题,如果我新建一个空文件,这个文件要不要占据磁盘空间

答案是肯定的,因为虽然我们没有在文件中存储东西,但他的属性例如:名字,创建的时间等属性都需要占据磁盘。所以必须要记住:文件 = 文件内容+文件属性

凡是要对文件进行操作:

  1. 对文件内容进行操作

2.对文件属性进行操作

ls

语法:ls[选项][目录或者文件]

功能:对于目录,该命令列出该目录的所有子目录与文件,对于文件,将列出文件名以及其他信息

常见选项:

-a 列出目录下所有文件,包括以.开头的隐含文件 .表示当前目录..表示上级目录

-d 将目录像文件一样显示,而不是显示其下的文件

-i 输出的i节点的索引信息

-k 以字节的形式表示文件的大小

-l 列出文件的详细信息(看到的是目录里面的内容

-n 用数字的 UID,GID代替名称

-F 每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行文件的 普通文件

-r 对目录反向排序

-t 以时间排序

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

-R 列出所有子目录下的文件

-1 一行只输入一个文件

示例:

常见的选项可以组合例如:ls -la就等于ls -l -a

pwd

小知识点:linux中路径用/作为路径分隔符,window一般使用\,路径的价值,在于标识文件的为一性和定位目标文件

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

演示:

cd

小知识点:路径的认识

  • Linux系统中,磁盘的文件和目录被组成一颗目录树,每一个节点都是目录或文件 目录结构:
  • 其中路上节点(非叶子节点)一定是目录,叶子节点一定是空目录或者是普通文件
  • 绝对文件:一般从从/开始,不依赖其他目录的定位方式,具有唯一性,因为每一个子目录都只有一个父节点,一般在配置文件中写入某些文件的配置路径时使用,一般不会随着用户的路径变化而丧失唯一性。
  • 相对路径:相对于当前用户所处的目录,定位文件的路径方式,具有唯一性,一般在命令行操作的时候使用./115/code,意思是上级目录中的115目录的code文件
  • 理解路径存在的意义:树状组织方式,都为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,具有唯一性。
  • Linux下一切皆文件

语法:cd 目录名

功能:改变工作目录,将当前目录改变到指定目录下

演示:

用法:

可以跟绝对路径,或者相对路径

cd -可以跳到上级目录

cd ~可以跳到当前用户(用户分为管理员和普通用户)的家目录(指定用户登录的时候,默认所处的路径,提供默认所处的路径,我们后续所有的操作都在,自己的家目录中操作,管理员的家目录/root,普通用户的家目录/home/普通用户的名字)

touch

小知识点:

stat跟一个文件名可以知道文件的详细属性

我们可以观察到他有三个时间分别是Access访问时间 Modify创造的时间 Change文件属性修改的时间。

语法:touch [选项]..文件..

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

演示:

当前的hello.txt的时间是

我们再一次touch hello.txt

他的三个时间就改变了

常见选项:

touch -a 文件名:只改变access的时间(但具体得看设备自身,下图改变了access和change)

touch -c 文件名 :只改变 Modify的时间(具体看设备,如下图全部改变了)

mkdir

小知识点:可以在我们的xshell下安装一个软件tree,它可以让文件以树状的结构显示

必须在root身份下

yum install -y tree (centos中的安装命令)

apt install -y tree (ubuntu中的安装命令)

语法:mkdir[选项] 文件名

功能:在当前目录下创造一个目录

常用选项:

-p :可以是一个路径名称。此时若路径的某些目录尚不存在,系统建立那些不存在的目录,即依次可以建立多个目录

-f强制删除

rmdir和rm

大部分情况下我们删除会使用rm

rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除命令

语法:rmdir[-p]文件名

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

功能:删除空目录

常用选项:

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

举例:

rm

可以删除文件和目录

语法:rm -选项

使用对象:所有使用者

功能:删除文件或目录

常用选项:

-f 强制删除,即使文件的属性是只读,都可以删除

-i 删除前逐一询问确定

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

举例:

如果我们不加 -f那我们就会发现在我们执行删除指令的时候他会询问我们(root身份的时候)

上图我们发现,如果我们直接删除目录是删除不了的,因为目录下有很多文件,例如删除115,那么他其下的d1,d2,d3,d4都要删除,我们加一个-p就可以解决很多问题

man

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

语法:man[选项]命令

常见选项:

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

num 只在第num章查找

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

小知识:

man手册分为九章(不同的系统之间可能有差异)

1是普通的命令

2是系统调用,如open,write之类的

3是库函数

4略

5指的是文件格式

6是给游戏留的,由各个游戏自己定义

7是附件还有一些变量,比如像environ这种全局变量在这里就有说明

8是系统管理用到的命令,这些命令只能由root使用

9略

which

查找指定命令的路径

我们可以发现所谓的命令其实就是指定路径下(/usr/bin )的一个可执行文件,指令的本质就是有人写了一段可执行代码放在了指定路径下(/usr/bin)所谓的安装软件就是把目标文件拷贝到系统认识的指定文件中;

我们同样可以发现在文件中有一些文件是 类似于 alias ls = .......其实是因为我们由的命令实在是太长了为了方便我们给它取地别名,如上图 ls 其实就是ls -- color.

echo

我们上面所说linux下一切皆文件,我们就可以将打印到显示器上理解为向显示器文件中进行写入

从键盘读取数据到内存中可以理解为从键盘文件里面读取内容

echo文件的作用就是可以打印内容到显示器上

还可以使用输出重定向,向文件中写出 (可以看到的是刚开始我们是没有log.txt的文件的,当我们向它里面写入的时候,系统会自动创建这个文件)

观察发现当我们再一次写入的时候文件里的内容会自动更新,所以我们可以用>文件来实现清空的文件的功能

当我们使用两个>(追加重定向)的时候就会不覆盖来写入内容

cp

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

功能:复制文件或目录

说明:

CP指令用于复制文件或目录

如:同时指定两个的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中

常用选项:

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

-i覆盖文件之前先询问用户

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

后面接目录,单纯的把文件,拷贝到指定目录下

后面接的文件,拷贝并重命名

因为文件是递归的所以我们没有办法直接复制,必须要加上一个r

mv

mv命令是move的缩写,可以用来移动文件或者将文件改名,经常用来备份文件或或者目录

语法:mv[选项]

改名:

剪切:

如果跟的是一个已经存在的就是剪切功能

剪切加重命名

如果指定的位置,前半段知道后半段不知道,功能就是剪切加重命名

cat

小知识点:文件 = 文件内容 + 文件属性

cat的作用就是对文件内容进行操作

语法:cat[选项][文件]

常用选项:

  • b 对非空输出行编号

-n 对输出的所用行编号

-s 不输出多行空行

演示:

tac

对内容倒置输出

more

小知识点:cat适用于小文件、配置文件的打印(一旦打印大型文件就会直接刷屏),more就使用于巨大的文本文件(但是只接受下翻,我们一般使用less)

语法:more[选项]

功能:more 命令,功能类似于cat

常用选项:

-n 指定输出行数

q退出more

演示:

cat 从头打到尾的shuaping

more 先打印全屏,按换行符往下翻

less

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

less的用法比起more更加的有弹性,在more的时候,我们并没有办法向前翻,只能往后面看

但若使用了less时,就可以使用按键来进行前后翻,跟容易用来查看一个文件内容

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

语法:less[选项]文件

功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查之前不会加载整个文件

选项:

-i 忽略搜索时的大小写

-N 显示每行的行号

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

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

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

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

q:quit

**语法:**head[选项]。。[文件]。。

功能:head用来显示档案的开头至标准输出中,默认head命令打印其相应的文件的头10行。

选项: -n 行数 显示的行数

tail

语法:tail [选项] 文件

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:

-f 循环读取

-n 行数 显示行数

由上面的tail和head可以我们可以打印一个文件的前面和后面,但是中间部分怎么打印呢

head -行数 文件名| tail -行数

小知识点:|是管道,是文件,具有传送资源的作用,如下图的意思就是把头5行文件的内容传给|然后再进行tail -3的操作即打印后三行

date

指定格式显示时间:date +%Y:%m :%d

用法:date+标记

显示方面,使用者可以设定预显示的格式,格式设定为一个加号后接数个标记,其中最常用的标记如下:

%H:小时

%M:分钟

%S:秒

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

%d : 日

%m :月份

%Y:年份

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

时间戳

时间到时间戳:date +%s

时间戳到时间:date -d@时间戳

举例:

cal

语法:cal 参数[年份]

功能:用来查看日历等时间信息,如只有一个参数,则表示年份,如只有两个参数,则表示月份和年份

常用选项:

-3 显示系统前一个月、当前月、下一个月的日历

-j 显示在当年中的第几天(从1月1日开始)

-y 显示当前年份的日历

find

介绍:linux下find命令再目录结构中搜索文件,并执行指定操作

linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它 的选项很多,我们这里只介绍一种。

即使系统中含有网络文件系统,find再该系统中同样有效。

再运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一 个 大的文件系统可能会花费很长的时间

语法:find 文件

功能:用于在文件树中查找文件,并作出相应的处理

常用选项:

-name 按照文件名查找文件(只介绍这一个)

举例:

whereis

功能:用于找到程序的源、二进制、手册 (主要用来找配置文件)

举例:

grep

语法:grep [选项] 搜索字符串 文件

功能: 在文件中搜索字符串,将找到的行打印下来

常见选项:

-i :忽略大小写的不同,所以大小写视为相同

-n: 顺便输出行号

-v : 反向选择,亦即可显示出没有"搜索字符串"内容的那一行。

举例:

nano

小知识:nano就相当于记事本 下载:centos :yum install -y nano ubuntu: apt intall -y nano

语法:nano 文件

功能:让文件以记事本方式打开

ctrl x 退出

zip/unzip

小知识点:把我们的文件数据进行归档,形成文件的过程。作用:网络发送方便(体积小,网络传送速度快),节省磁盘空间

语法:zip压缩文件。zip 目录或者文件.zip 文件名或者目录名

功能:将目录或文件压缩成zip格式(默认在当前目录)

常用选项:

-r :递归,将指定目录下的所有文件和子目录一并处理

举例:

将test 目录压缩到test1中 zip test1/test.zip test

解压到tmp目录中: unzip test.zip -d tmp

如下我们将115打包到114目录下,但是他只是打包了一个目录,如果希望文件都要打包需要加-r命令

rz 直接拖拽

rz sz

小知识点:下载一个lrzsz apt/yum install -y lrzsz

语法: sz 压缩包 rz(直接拖拽文件到linux)

功能:将linux的压缩包传到windows上 将windows的压缩包传给linux

举例

tar

语法: tar [参数] 文件与目录

功能: 打包/解包 ,不打开它,直接看内容

参数:

  • c :建立一个压缩文件的参数指令(creat)

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

-t : 查看tarfile 里面的文件

-z :是否同时具有gzip的属性?亦即是否需要用gzip压缩

-j : 是否同时具有bzip 2的属性?亦即是否需要用bzip2压缩

-v: 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程

-f :使用档名,请留意,在f之后要立即接档名!不要再加参数

-C:解压到指定目录

相关推荐
dessler10 分钟前
RabbitMQ-镜像队列(Mirrored Queues)
linux·运维·rabbitmq
瑾曦14 分钟前
Docker相关命令
linux
发抖吧小喵喵17 分钟前
rpm包直接安装新系统缺少依赖问题处理
linux·运维·服务器
Asuicao43 分钟前
最新docker国内镜像源地址大全
运维·docker·容器
xhdll1 小时前
embodied复现所需docker环境配置粗略流程
运维·docker·容器
码农101号1 小时前
Linux中Docker Swarm介绍和使用
linux·spring cloud·docker
Nazi61 小时前
dockerfile基础
linux·运维·docker·容器·云计算
跑不了的你1 小时前
Ubuntu 开启wifi 5G 热点
服务器·5g·ubuntu
所念皆为东辞1 小时前
elk部署加日志收集
linux·elk·elasticsearch·centos