文章目录

  • 1.Linux简介
    • 1.1 Linux内核介绍
    • 1.2Centos操作系统介绍
  • 2.Linux 常见指令
    • 1. ls 指令
    • 2.pwd 指令
    • 3.cd 指令
    • 4.touch指令
    • 5.mkdir指令
    • 6.rmdir指令
    • 7. rm指令
    • 8.man指令
    • 9.cp指令
    • 10.mv指令
    • 11.more指令
    • 12.less指令
    • 13.head指令
    • 14.tail指令
    • 15.echo指令
    • 16.cat指令
    • 17.date指令
    • 18.Cal指令
    • 19.find指令
    • 20.which指令
    • 21.grep指令
  • 3.Linux添加用户
  • 4.Linux删除用户

1.Linux简介

1.1 Linux内核介绍

Linux 是一款开源的操作系统,它刚刚发行出来时仅仅由一万行代码编写,相比闭源的Windows和Macos操作系统来说他非常单薄。但是正是因为开源这一特性,使得全世界的程序员看到了改变世界的希望,大量高端工程师无偿加入Linux的编写。使得Linux操作系统高速完善,成为当今世界最为稳定高效的一款操作系统

查看内核版本
指令: uname -a/r
指令:cat /proc/version

1.2Centos操作系统介绍

Centos 7.6操作系统是我们接下来代码运行的操作系统,它是一款搞“管理”的软件,主要管理,软件加硬件。它是Linux操作系统的一种发行版本,Linux也有很多其他的发行版本,这里就不一一细说了。同时Linux也有自己的版本,我们称之为Linux内核。发行版本是基于Linux内核上开发的操作系统,以承担现实生活中不同的工作环境。

2.Linux 常见指令

1. ls 指令

语法: ls 【选项】【目录或文件】
功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,
常用选项
1 - l 显示更多属性信息
2.- a 显示隐藏文件(在Linux中以.开头的文件是隐藏文件)
3.- d 显示当前目录信息
4.-R 递归显示目录下的全部内容

-l 和 -a
drwxrwxr-x 3 clx clx 4096 Jul  8 23:18 Lesson_Linux
[clx@VM-20-6-centos ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cache  .config  .cquery  Lesson_Linux  .LfCache  .local  .pki  .vim  .VimForCpp  .vimrc  .ycm_extra_conf.py
[clx@VM-20-6-centos ~]$ ls -l
total 4
drwxrwxr-x 3 clx clx 4096 Jul  8 23:18 Lesson_Linux
[clx@VM-20-6-centos ~]$ ls -al
total 60
drwx------  9 clx  clx   4096 Jul  8 23:17 .
drwxr-xr-x. 4 root root  4096 Jun 14 22:49 ..
-rw-------  1 clx  clx  11805 Jul  9 17:35 .bash_history
-rw-r--r--  1 clx  clx     18 Apr  1  2020 .bash_logout
-rw-r--r--  1 clx  clx    193 Apr  1  2020 .bash_profile
-rw-r--r--  1 clx  clx    389 Jun 15 13:01 .bashrc
drwxrwxr-x  3 clx  clx   4096 Jun 14 22:50 .cache
drwxrwxr-x  3 clx  clx   4096 Jun 15 13:02 .config
lrwxrwxrwx  1 clx  clx     48 Jun 15 13:02 .cquery -> /home/clx/.VimForCpp/cquery/config/cquery.config
drwxrwxr-x  3 clx  clx   4096 Jul  8 23:18 Lesson_Linux
drwxrwxr-x  3 clx  clx   4096 Jun 15 12:29 .LfCache
drwx------  3 clx  clx   4096 Jun 15 12:29 .local
drwxrw----  3 clx  clx   4096 Jun 14 23:06 .pki
lrwxrwxrwx  1 clx  clx     24 Jun 15 13:02 .vim -> /home/clx/.VimForCpp/vim
drwxrwxr-x  8 clx  clx   4096 Jun 15 13:01 .VimForCpp
lrwxrwxrwx  1 clx  clx     33 Jun 15 13:02 .vimrc -> /home/clx/.VimForCpp/vim/init.vim
lrwxrwxrwx  1 clx  clx     38 Jun 15 13:02 .ycm_extra_conf.py -> /home/clx/.VimForCpp/ycm_extra_conf.py
```c
-d
[clx@VM-20-6-centos ~]$ ls -d
.
[clx@VM-20-6-centos ~]$ ls -ald
drwx------ 9 clx clx 4096 Jul  8 23:17 .
[clx@VM-20-6-centos ~]$ ls -ald Lesson_Linux
drwxrwxr-x 3 clx clx 4096 Jul  8 23:18 Lesson_Linux
-R
[clx@VM-20-6-centos ~]$ ls -R Lesson_Linux
Lesson_Linux:
dir  lesson1_7_08Lesson_Linux/dir:
a.cpp  a.txtLesson_Linux/lesson1_7_08:

2.pwd 指令

//对普通用户
[clx@VM-20-6-centos ~]$ pwd -- 显示当前我所处的目录对应的路径
/home/clx                   -- /home/XXX 就叫做XXX用户的主工作目录,一般在登录后是默认的
//对于root用户
[root@VM-20-6-centos ~]# pwd
/root

在Linux中路径分割符是 /(斜杠)
在Windows中路径分割符是 \(反斜杠)

3.cd 指令

[clx@VM-20-6-centos ~]$ ll --显示当前目录下的文件
total 4
drwxrwxr-x 3 clx clx 4096 Jul  8 23:18 Lesson_Linux
[clx@VM-20-6-centos ~]$ cd Lesson_Linux --进入Lesson_Linux目录
[clx@VM-20-6-centos Lesson_Linux]$ pwd --显示当前路径
/home/clx/Lesson_Linux --说明我们确实进入了Lesson_Linux目录

隐藏文件:Linux配置文件,可以隐藏起来,保护文件防止用户误操作

[clx@VM-20-6-centos Lesson_Linux]$ ls -al
total 12
drwxrwxr-x 3 clx clx 4096 Jul  8 23:18 .  -- 当前目录
drwx------ 9 clx clx 4096 Jul  8 23:17 .. -- 上级目录
drwxrwxr-x 2 clx clx 4096 Jul  8 23:18 lesson1_7_08

在Linux中任何目录下,都默认存在两个目录: . (当前目录) 和 … (上级目录)

[clx@VM-20-6-centos Lesson_Linux]$ pwd
/home/clx/Lesson_Linux
[clx@VM-20-6-centos Lesson_Linux]$ cd ..
[clx@VM-20-6-centos ~]$ pwd
/home/clx
我们可以通过cd .. 操作来返回上级目录,实现回退功能

/ :根目录

当我们不断进行回退,我们发现到了/目录下就没有效果了
/是根目录是Linux的起始目录处
[clx@VM-20-6-centos ~]$ pwd
/home/clx
[clx@VM-20-6-centos ~]$ cd ..
[clx@VM-20-6-centos home]$ pwd
/home
[clx@VM-20-6-centos home]$ cd ..
[clx@VM-20-6-centos /]$ pwd
/
[clx@VM-20-6-centos /]$ cd ..
[clx@VM-20-6-centos /]$ pwd
/

Linux的目录结构和文件组织形式是以多叉树的形式组织的! 树形结构便于查找,因为所有的文件,都必须要有唯一的标识方式
在树形结构中,根节点到某一个叶子结点的路径一定是唯一的,便于文件定位
Linux 当中,可能要进行一些路径配置:优先使用绝对路径

此外我们还有两个cd指令的用法

  1. cd -(返回上一次跳转的目录)
[clx@VM-20-6-centos ~]$ cd /      --首先跳转至根目录
[clx@VM-20-6-centos /]$ pwd
/
[clx@VM-20-6-centos /]$ cd -      --返回上一次所在的目录
/home/clx
[clx@VM-20-6-centos ~]$ pwd
/home/clx

2.cd ~(直接跳转到当前用户的主工作目录当中)

[clx@VM-20-6-centos Lesson_Linux]$ pwd
/home/clx/Lesson_Linux
[clx@VM-20-6-centos Lesson_Linux]$ cd ~
[clx@VM-20-6-centos ~]$ pwd
/home/clx

4.touch指令

功能:创建文件

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ touch a.txt
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
-rw-rw-r-- 1 clx clx 0 Jul  9 18:56 a.txt

5.mkdir指令

功能:创建目录

在当前目录下创建一个dir目录
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
-rw-rw-r-- 1 clx clx 0 Jul  9 18:56 a.txt
[clx@VM-20-6-centos lesson1_7_08]$ mkdir dir
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 4
-rw-rw-r-- 1 clx clx    0 Jul  9 18:56 a.txt
drwxrwxr-x 2 clx clx 4096 Jul  9 18:58 dir
在上级目录下创建一个dir目录
[clx@VM-20-6-centos lesson1_7_08]$ mkdir ../dir
[clx@VM-20-6-centos lesson1_7_08]$ ll ..
total 8
drwxrwxr-x 2 clx clx 4096 Jul  9 19:00 dir
drwxrwxr-x 3 clx clx 4096 Jul  9 18:58 lesson1_7_08

创建多层级目录 mkdir -p

mkdir -p 创建一个dir1/dir2/dir3的目录
[clx@VM-20-6-centos lesson1_7_08]$ mkdir -p dir1/dir2/dir3
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 4
-rw-rw-r-- 1 clx clx    0 Jul  9 18:56 a.txt
drwxrwxr-x 3 clx clx 4096 Jul  9 19:14 dir1
[clx@VM-20-6-centos lesson1_7_08]$ ls -R dir1
dir1:
dir2dir1/dir2:
dir3dir1/dir2/dir3:

6.rmdir指令

功能:用来删除空目录

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 8
drwxrwxr-x 2 clx clx 4096 Jul  9 19:19 dir    --空目录
drwxrwxr-x 3 clx clx 4096 Jul  9 19:14 dir1   --dir1/dir2/dir3
[clx@VM-20-6-centos lesson1_7_08]$ rmdir dir
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 4
drwxrwxr-x 3 clx clx 4096 Jul  9 19:14 dir1 --发现可以直接删除空目录
[clx@VM-20-6-centos lesson1_7_08]$ rmdir dir1
rmdir: failed to remove ‘dir1’: Directory not empty --删除非空目录出错
[clx@VM-20-6-centos lesson1_7_08]$ rm -r dir1   --rm -r可删除非空目录
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ mkdir -p dir1/dir2/dir3
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 4
drwxrwxr-x 3 clx clx 4096 Jul  9 19:21 dir1
[clx@VM-20-6-centos lesson1_7_08]$ rmdir -r dir1 --rmdir-r删除非空目录
rmdir: invalid option -- 'r'
Try 'rmdir --help' for more information.  --出错

经过上述实验我们发现
rmdir 可以删除空目录 但不能删除有内容的目录
rm -r 可以删除多重目录 (-r 表示递归)(rm -r 表示递归删除)

7. rm指令

功能:删除文件
常用选项
1.rm -r 进行递归删除,删除目录以及子目录下的所有内容

[clx@VM-20-6-centos lesson1_7_08]$ mkdir -p dir1/dir2/dir3
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 4
drwxrwxr-x 3 clx clx 4096 Jul  9 19:21 dir1
[clx@VM-20-6-centos lesson1_7_08]$ rm -r dir1   --rm -r可删除非空目录
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0

2.rm -f 强制指令,当发生权限冲突时,编译器可能会发出询问。-f表示强制,阻止其询问

到这里想必大家都可以理解所谓rm -rf/的意义了,从根目录开始强制执行递归删除,虽然有些文件可能正在运行无法删除,但是大部分文件都会被删。使用rm -rf/之后这台机器大概率是报废了。而且在Linux系统下删除是不可逆的。所以要慎重使用rm -rf指令

  1. rm * 删除当前目录下所有文件
rm 是不会删除目录的 *代表的是当前目录下
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ touch a b
[clx@VM-20-6-centos lesson1_7_08]$ mkdir c d
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 8
-rw-rw-r-- 1 clx clx    0 Jul  9 19:39 a --文件
-rw-rw-r-- 1 clx clx    0 Jul  9 19:39 b --文件
drwxrwxr-x 2 clx clx 4096 Jul  9 19:40 c --目录
drwxrwxr-x 2 clx clx 4096 Jul  9 19:40 d --目录
[clx@VM-20-6-centos lesson1_7_08]$ rm *
rm: cannot remove ‘c’: Is a directory
rm: cannot remove ‘d’: Is a directory
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 8
drwxrwxr-x 2 clx clx 4096 Jul  9 19:40 c
drwxrwxr-x 2 clx clx 4096 Jul  9 19:40 d --文件都被删掉了,但是目录并没有若我们想要将目录也都删除 ,需要带上-r选项
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 8
drwxrwxr-x 2 clx clx 4096 Jul  9 19:40 c
drwxrwxr-x 2 clx clx 4096 Jul  9 19:40 d
[clx@VM-20-6-centos lesson1_7_08]$ rm -r *
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0

8.man指令

功能:Linux自带的参考手册

[clx@VM-20-6-centos lesson1_7_08]$man man
[clx@VM-20-6-centos lesson1_7_08]$man whoami
[clx@VM-20-6-centos lesson1_7_08]$man 2 man
[clx@VM-20-6-centos lesson1_7_08]$man 3 whoami

最多使用的是3号仓库,里面主要是库函数解释,假如加上数字的话,默认调用1号仓库

9.cp指令

功能:复制粘贴

cp a.txt ..
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ touch a.txt --创建a.txt 文件
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
-rw-rw-r-- 1 clx clx 0 Jul  9 19:56 a.txt
[clx@VM-20-6-centos lesson1_7_08]$ cp a.txt .. --将a.txt 复制粘贴到上级目录
[clx@VM-20-6-centos lesson1_7_08]$ ls -al ..
total 16
drwxrwxr-x 4 clx clx 4096 Jul  9 19:57 .
drwx------ 9 clx clx 4096 Jul  8 23:17 ..
-rw-rw-r-- 1 clx clx    0 Jul  9 19:57 a.txt
drwxrwxr-x 2 clx clx 4096 Jul  9 19:00 dir
drwxrwxr-x 2 clx clx 4096 Jul  9 19:56 lesson1_7_08cp -rf *
当我们需要拷贝目录时我们需要使用-r选项完成递归拷贝
同时我们也可以cp -rf * 将当前目录下所有东西进行打包拷贝[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ touch a.txt
[clx@VM-20-6-centos lesson1_7_08]$ touch b.txt
[clx@VM-20-6-centos lesson1_7_08]$ mkdir dir1
[clx@VM-20-6-centos lesson1_7_08]$ mkdir -p dir2/dir3
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 8
-rw-rw-r-- 1 clx clx    0 Jul  9 20:01 a.txt
-rw-rw-r-- 1 clx clx    0 Jul  9 20:01 b.txt
drwxrwxr-x 2 clx clx 4096 Jul  9 20:01 dir1
drwxrwxr-x 3 clx clx 4096 Jul  9 20:01 dir2
[clx@VM-20-6-centos lesson1_7_08]$ cp -r * ..
[clx@VM-20-6-centos lesson1_7_08]$ ls -l ..
total 16
-rw-rw-r-- 1 clx clx    0 Jul  9 20:02 a.txt
-rw-rw-r-- 1 clx clx    0 Jul  9 20:02 b.txt
drwxrwxr-x 2 clx clx 4096 Jul  9 19:00 dir
drwxrwxr-x 2 clx clx 4096 Jul  9 20:02 dir1
drwxrwxr-x 3 clx clx 4096 Jul  9 20:02 dir2
drwxrwxr-x 4 clx clx 4096 Jul  9 20:01 lesson1_7_08*通配符还可以筛选目录下的内容
*.txt 可以选择当前目录下后缀为.txt 的文件进行打包

10.mv指令

功能:剪贴

mv *.txt ../
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ touch a.txt b.txt
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
-rw-rw-r-- 1 clx clx 0 Jul  9 20:10 a.txt
-rw-rw-r-- 1 clx clx 0 Jul  9 20:10 b.txt
[clx@VM-20-6-centos lesson1_7_08]$ mv *.txt ../
[clx@VM-20-6-centos lesson1_7_08]$ ls -l ../
total 8
-rw-rw-r-- 1 clx clx    0 Jul  9 20:10 a.txt
-rw-rw-r-- 1 clx clx    0 Jul  9 20:10 b.txt
drwxrwxr-x 2 clx clx 4096 Jul  9 19:00 dir
drwxrwxr-x 2 clx clx 4096 Jul  9 20:10 lesson1_7_08
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ mv也可以用来剪切目录,但是和cp不同的是,mv剪切目录不需要使用-r选项
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ mkdir -p dir1/dir2/dir3
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 4
drwxrwxr-x 3 clx clx 4096 Jul  9 20:13 dir1
[clx@VM-20-6-centos lesson1_7_08]$ mv dir1 ../
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ ll -l ..
total 12
drwxrwxr-x 2 clx clx 4096 Jul  9 19:00 dir
drwxrwxr-x 3 clx clx 4096 Jul  9 20:13 dir1
drwxrwxr-x 2 clx clx 4096 Jul  9 20:13 lesson1_7_08

11.more指令

功能:查看文件

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 0
[clx@VM-20-6-centos lesson1_7_08]$ touch file.txt --创建文件file.txt ,在其中打印一万行hello 100 Linux
[clx@VM-20-6-centos lesson1_7_08]$ count=0; while [ $count -le 10000 ]; do echo "hello 100 Linux $count"; let count++; done >> file.txt
我们可以使用more指令进行文件查看
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ more file.txt
hello 100 Linux 0
hello 100 Linux 1
hello 100 Linux 2
hello 100 Linux 3
hello 100 Linux 4
hello 100 Linux 5
hello 100 Linux 6
hello 100 Linux 7
hello 100 Linux 8
hello 100 Linux 9
hello 100 Linux 10
hello 100 Linux 11
hello 100 Linux 12
hello 100 Linux 13
hello 100 Linux 14
hello 100 Linux 15
hello 100 Linux 16
hello 100 Linux 17
hello 100 Linux 18
hello 100 Linux 19
hello 100 Linux 20
hello 100 Linux 21
hello 100 Linux 22
hello 100 Linux 23
hello 100 Linux 24
hello 100 Linux 25

特性:从文件开始进行查看,一次看一页.不支持上翻

12.less指令

功能:和more相近,不过可以进行上下翻

less file.txt

13.head指令

功能:将文本从开头进行打印(默认打印十行),当然我们可以手动添加行数,控制打印范围

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ head file.txt
hello 100 Linux 0
hello 100 Linux 1
hello 100 Linux 2
hello 100 Linux 3
hello 100 Linux 4
hello 100 Linux 5
hello 100 Linux 6
hello 100 Linux 7
hello 100 Linux 8
hello 100 Linux 9
[clx@VM-20-6-centos lesson1_7_08]$ head -3 file.txt
hello 100 Linux 0
hello 100 Linux 1
hello 100 Linux 2
[clx@VM-20-6-centos lesson1_7_08]$ head -n3 file.txt
hello 100 Linux 0
hello 100 Linux 1
hello 100 Linux 2

14.tail指令

功能:将文本从末尾开始打印

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ tail file.txt
hello 100 Linux 9991
hello 100 Linux 9992
hello 100 Linux 9993
hello 100 Linux 9994
hello 100 Linux 9995
hello 100 Linux 9996
hello 100 Linux 9997
hello 100 Linux 9998
hello 100 Linux 9999
hello 100 Linux 10000
[clx@VM-20-6-centos lesson1_7_08]$ tail -3 file.txt
hello 100 Linux 9998
hello 100 Linux 9999
hello 100 Linux 10000

15.echo指令

功能:将标准输入直接打印在标准输出上,并且也可以读取输入写入文件

echo "Hello Linux" > a.txt
>为输出重定向符号(每次写入先会清空), 意思为将字符串写入a.txt,改变数据的流向
>> 为追加重定向符号(每次写入追加在文本后)
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ touch a.txt
[clx@VM-20-6-centos lesson1_7_08]$ echo "Hello Linux" > a.txt
[clx@VM-20-6-centos lesson1_7_08]$ cat a.txt
Hello Linux接下来我们可以通过追加重定向来进行文件写入
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 212
-rw-rw-r-- 1 clx clx     12 Jul  9 20:58 a.txt
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ echo "Hello Linux" >> a.txt
[clx@VM-20-6-centos lesson1_7_08]$ cat a.txt
Hello Linux
Hello Linux

Linux中一切皆文件,这是Linux的一种设计哲学

16.cat指令

功能:读取文件

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 212
-rw-rw-r-- 1 clx clx     24 Jul  9 21:10 a.txt
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ cat a.txt  --使用cat来读取文件
Hello Linux
Hello Linux还可以进行以下操作
[clx@VM-20-6-centos lesson1_7_08]$ cat < a.txt --cat后面接的大多是文件名字 可以和输出重定向联合使用
Hello Linux
Hello Linux[clx@VM-20-6-centos lesson1_7_08]$ cat --也可以直接使用cat,不过这就是从标准输入读取数据打印到标准输出
a
a
b
b
^C --可以使用Ctrl + C 退出打印

到目前为止我们学了较多的文本读取指令,现在我们来实现一下一万行文本中1000行到1010行数据的读取

[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt  --创建一个中间文件
-rw-rw-r-- 1 clx clx      0 Jul  9 21:22 temp.txt
[clx@VM-20-6-centos lesson1_7_08]$ head -1010 file.txt > temp.txt  --将前1010行数据读取到中间文件中
[clx@VM-20-6-centos lesson1_7_08]$ tail temp.txt        --打印中间文件最后十行数据即是我们的目标数据
hello 100 Linux 1000
hello 100 Linux 1001
hello 100 Linux 1002
hello 100 Linux 1003
hello 100 Linux 1004
hello 100 Linux 1005
hello 100 Linux 1006
hello 100 Linux 1007
hello 100 Linux 1008
hello 100 Linux 1009

这样我们就实现了目标数据的打印,但是过程中我们创建了一个临时文件,这样的方法有点麻烦

我们可以直接使用 | (管道) 来对数据进行筛选
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ head -1010 file.txt | tail -10
hello 100 Linux 1000
hello 100 Linux 1001
hello 100 Linux 1002
hello 100 Linux 1003
hello 100 Linux 1004
hello 100 Linux 1005
hello 100 Linux 1006
hello 100 Linux 1007
hello 100 Linux 1008
hello 100 Linux 1009我们还可已通过管道来对数据进行处理
在此段代码中,我们增加了| tac 对读取数据进行了反向读取,改变了数据输出的顺序
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ head -1010 file.txt | tail -10 |tac
hello 100 Linux 1009
hello 100 Linux 1008
hello 100 Linux 1007
hello 100 Linux 1006
hello 100 Linux 1005
hello 100 Linux 1004
hello 100 Linux 1003
hello 100 Linux 1002
hello 100 Linux 1001
hello 100 Linux 1000

17.date指令

与时间相关,用来读取时间,日期等数据
date指令的使用
[clx@VM-20-6-centos lesson1_7_08]$ date
Sat Jul  9 21:35:41 CST 2022date指令读取的数据进行格式化处理,增强可读性
[clx@VM-20-6-centos lesson1_7_08]$ date +%Y/%m/%d --通过Y,m,d确定读取的数据,/用于分隔读取数据
2022/07/09时间的打印
[clx@VM-20-6-centos lesson1_7_08]$ date +%Y/%m/%d/%H:%M:%S
2022/07/09/21:40:22

时间戳:1970/1/1 00.00 到现在所度过的秒数

读取时间戳
[clx@VM-20-6-centos lesson1_7_08]$ date +%s
1657374177使用时间戳得到时间
[clx@VM-20-6-centos lesson1_7_08]$ date -d@1657374177
Sat Jul  9 21:42:57 CST 2022

18.Cal指令

作用:调出日历查看日期

[clx@VM-20-6-centos lesson1_7_08]$ calJuly 2022
Su Mo Tu We Th Fr Sa1  23  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31还可以打印前后三个月的时间
[clx@VM-20-6-centos lesson1_7_08]$ cal -3June 2022             July 2022            August 2022
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa1  2  3  4                  1  2      1  2  3  4  5  65  6  7  8  9 10 11   3  4  5  6  7  8  9   7  8  9 10 11 12 13
12 13 14 15 16 17 18  10 11 12 13 14 15 16  14 15 16 17 18 19 20
19 20 21 22 23 24 25  17 18 19 20 21 22 23  21 22 23 24 25 26 27
26 27 28 29 30        24 25 26 27 28 29 30  28 29 30 31         31                                        

19.find指令

功能:查找目标文件(可以查找任何文件)

~代表当前目录下 -name代表通过名字查找
[clx@VM-20-6-centos lesson1_7_08]$ find ~ -name clx
/home/clx --返回查找到的数据的绝对路径还可以通过大小查找
find ~ -size 1000 //表示查找当前工作目录下所有大小小于1000的数据
find ~ +size 1000 -size 1001//表示查找当前工作目录下大于1000小于1001大小的数据还可以进行目录查找
find ~ -name test type d //查找名字包含test并且类型是目录数据文件

真正的要在文件系统中进行查找->直接访问磁盘->效率比较低,但是最真实,找到则在磁盘中一定存在

20.which指令

功能:查找目标文件(查找命令文件)

[clx@VM-20-6-centos lesson1_7_08]$ which pwd
/usr/bin/pwd
返回命令文件存储的绝对路径

并非在磁盘上查找,文件名会以一种缓存的形式存储起来,查找会比较快,但是可能文件在磁盘上不存在

21.grep指令

功能:行过滤工具,查找指定内容

1.grep 基本使用方式
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ grep '9999' file.txt
hello 100 Linux 99992.grep -n 可以获取目标数据的行号
[clx@VM-20-6-centos lesson1_7_08]$ grep -n '9999' file.txt
10000:hello 100 Linux 99993.grep -nv 将指定内容剔除,打印其他数据
[clx@VM-20-6-centos lesson1_7_08]$ ll
total 208
-rw-rw-r-- 1 clx clx      0 Jul 10 08:41 a.txt
-rw-rw-r-- 1 clx clx 208912 Jul  9 20:23 file.txt
[clx@VM-20-6-centos lesson1_7_08]$ echo "hello Linux" > a.txt
[clx@VM-20-6-centos lesson1_7_08]$ echo "hello C++" >>a.txt
[clx@VM-20-6-centos lesson1_7_08]$ cat a.txt
hello Linux
hello C++
[clx@VM-20-6-centos lesson1_7_08]$ grep -nv 'Linux' a.txt
2:hello C++4.grep -i 忽略大小写查找
[clx@VM-20-6-centos lesson1_7_08]$ grep -i 'linux' a.txt
hello Linux5.在Linux系统中, 为找到文件try_grep含有以a字母为行开头的内容
grep -E ^a try_grep

3.Linux添加用户

1.使用root账户登录
[root@VM-20-6-centos ~]# ll
total 0
[root@VM-20-6-centos ~]# pwd
/root2.新增用户
[root@VM-20-6-centos ~]# adduser temp  --新增用户
[root@VM-20-6-centos ~]# passwd temp   --设置用户密码
Changing password for user temp.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
到这用户已经添加完成,可以退出root用户进行普通用户进行登录

注意:Linux系统下密码是不回显的,虽然光标没有动但是你确实已经输入了密码,并且密码必须要长于8位

4.Linux删除用户

1.切换到root用户
假如你正在使用普通用户可以使用 su - 指令进行切换至root用户
[root@VM-20-6-centos ~]# whoami
root
2.删除用户
[root@VM-20-6-centos ~]# userdel -r temp --使用userdel -r 指令删除temp
此时我们就完成了用户的删除

注意:root密码和用户密码不要设置成一样的
1.安全问题:泄漏一个密码就相当于泄漏了很多账户,若连root账户密码都泄漏了,等于这台机器是别人的了。它可以更改所有账户密码,并访问删除所有该机器上的文件
2.权限问题:作为一个学生,自己的账号基本只有自己使用,安全隐患比较小。但是,假如root用户和普通用户密码相同,将不利于我们接下来对权限的理解和学习,因为提升权限等操作要频繁输入密码。此密码可能是用户的也可能是root的,假如两者相同,则很容易产生理解偏差。导致进入公司,使用他人的机器无法选择输入哪个用户的密码造成麻烦

以上即是【Linux】1.0常见指令以及权限理解(上)的全部内容,感谢大家的观看

下一篇:【Linux】1.0常见指令以及权限理解(下)

【Linux】1.0常见指令以及权限理解(上)相关推荐

  1. Linux下的常见指令以及权限理解(下)

    Linux下的常见指令以及权限理解(下) Linux权限的概念 Linux权限管理 01.文件访问者的分类(人) 02.文件类型和访问权限(事物属性) 03.文件权限值的表示方法 a)字符表示方法 b ...

  2. linux基础(1)-常见指令及权限理解

    1.常见指令及权限理解 初始Linux操作系统 初识shell命令 ,了解若干背景知识. 使用常用Linux命令 了解Linux权限概念与思想,能深度理解"权限" 初步了解Linu ...

  3. Linux入门级教学-常见指令及其权限理解

    1.了解一些基本指令 2.了解shell命令 3.了解权限概念 4.权限的三大问题 Linux下基本指令 ls:显示当前目录下的文件列表 mkdir:在当前路径下 创建一个目录 pwd:显示当前我所处 ...

  4. Linux常见指令以及权限理解(上)

    1.Linux下基本指令 01. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件.对于文件,将列出文件名以及其他信息. 常见搭配: -a 列出目 ...

  5. 【Linux】Linux系统编程(入门与系统编程)(一)(环境搭建、常见指令以及权限理解)

    目录 linux系统编程 : 1.推动技术进步的基本模式 2.理解操作系统的发展 Linux 背景介绍 UNIX发展的历史: Linux发展历史 开源 Linux的发行版本: a.技术角度 b.商业化 ...

  6. 【Linux编程】一、Linux常见指令和权限理解(思维导图总结)

    文章目录 Linux下基本指令 01.ls 指令 02.pwd 指令 03 cd 指令 04.mkdir 指令 05.rmdir 指令 06.rm 指令 07.tree 指令 08.cp 指令 09. ...

  7. 【Linux】从入门到放弃--常见指令以及权限理解

    目录 一.入门入门,首先要有门--环境搭建 二.门的那边是什么--Linux是个啥 三.入门先迈左脚--Linux下的基本指令 01.ls指令--ls [选项] [目录或文件] 02.pwd指令--p ...

  8. Linux-第1节-常见指令以及权限理解

    目录 1.Linux下基本指令 1.1. ls 指令 1.2.pwd指令 1.3.cd 指令 1.4.touch指令 1.5.mkdir指令 1.6.rmdir指令 和 rm指令 1.7.man指令 ...

  9. 【Linux】基础常见指令

    目录​​​​​​​ 前言 一.Linux的环境搭建与远程控制 Linux 环境的搭建方式主要有三种 使用 XShell 远程登陆到 Linux 二.常见指令 1. ls 指令 2. pwd命令 3. ...

最新文章

  1. 2022-2028年中国食品电商行业投资分析及前景预测报告
  2. mongodb安装_MongoDB和Web应用程序
  3. GridView中使用DataFromatString
  4. 专门针对科学家工程师的僵尸网络
  5. MobileIMSDK怎样修改Server端和安卓端TCP连接方式时报文的的限制大小
  6. 动态存储和静态存储区域区别
  7. [转]MVC中如何使用RDLC报表
  8. WPF连接WF4的问题
  9. 目标检测——夏侯南溪模型搭建篇
  10. 真相:Java 开发者钟爱 Kotlin 的五个原因
  11. Eva.js 渲染Web页面动画
  12. 干货 | 找工作的经验总结(一)
  13. jieba库是python提供的一个标准的用于分词的函数库_运用jieba库分词
  14. 运算放大电路设计实验
  15. 计算机原理视频罗克露优酷,5IO系统-2中断-罗克露计算机组成原理课件(绝对与网上视频教程同步)...
  16. OpenHarmony 2.0和HarmonyOS发布会快评
  17. Hello World~Miracle is coming!!!
  18. 计算机打印错误,打印机错误正在打印处理方法,详细教您电脑打印机错误正在打印处理方法...
  19. CSDN上Android与IPhone开发博客精选
  20. 开源版本_开源绘画应用 Pinta 在 5 年后迎来新版本 | Linux 中国

热门文章

  1. VS2017 Resharper的安装与使用
  2. java基础5:工厂模式、单例模式、File文件类、递归、IO流、Properties配置文件、网络编程、利用IO流模拟注册登录功能、关于反射、JDK动态代理
  3. 《Linux内核完全剖析》阅读笔记
  4. 五重防护 | 构建勒索病毒纵深防护体系
  5. 远程办公:正确使用Windows自带远程桌面
  6. 启发式算法之灰狼优化算法
  7. 高级c++招聘,针对性学习扩展,发现不足
  8. 【技术分享】配置用户通过Telnet登录设备的身份认证
  9. 淘宝开源网络框架TBNET分析
  10. 全球亿万富豪地图出炉!中国富豪城市哪几个入榜?