Linux基础命令

1 背景知识

1.1 Linux系统中一切皆文件

在Linux系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。

1.2 Linux文件系统

Linux系统环境下的文件系统与Windows有很大区别。
在Windows中,每一个盘符下是一个独立的文件系统,硬盘有多少个分区就有多少个文件系统。
而在Linux系统中不管创建了多少个硬盘分区都只有一个文件系统。整个文件系统的根目录是“/”,从“/”根目录出发理论上可以找到Linux系统中的所有目录和文件。

1.3 Linux系统中的路径

绝对路径:从“/”根目录开始逐层查找文件和目录。

/etc/sysconfig/network-scripts
/tmp/vmware-root/vmware-db.pl.2267

相对路径:以当前目录或上一级目录为基准逐层查找文件和目录
当前目录:“./”
当前目录的上一级目录:“…/”

1.4 用户家目录

Linux系统为每一个用户提供了一个专属的目录用来存放它自己的文件内容。在Linux中使用“~”代表用户的家目录。
root用户作为系统的超级管理员,它的家目录是/root目录。
其他普通用户在创建后会在/home目录下创建与用户名同名的目录。例如:用户tom的家目录是/home/tom

1.5 操作系统不识别扩展名

Linux系统本身不识别文件扩展名,一个文件的类型不靠扩展名来区分,所以在Linux系统中,很多文件没有扩展名,反之有些目录的名字中有“.”。

2 文件目录操作命令

• 清屏 :Ctrl l 或者clear
• 复制:Ctrl+Insert
• 粘贴:Shift+Insert

2.1 创建目录

命令名:mkdir
对应单词:make directory
作用:创建目录
格式:mkdir [OPTION]… DIRECTORY…
创建单层目录
mkdir 目录名
递归创建多层目录。当目录存在时,会覆盖。
mkdir -p /目录1/目录2/目录3/…

2.2 进入目录

命令名:cd
对应单词:change directory
作用:切换当前目录
格式:cd 路径

2.3 创建文件

命令名:touch
作用:新建文件
格式:touch 文件名

2.4 查看目录内容

命令名:ls
对应单词:list 列表
作用:将目录内容以列表形式展示出来
格式:ls [OPTION]… [FILE]…
常用参数
在这里插入图片描述

组合用法:在这里插入图片描述

2.5 删除目录

命令名:rmdir
对应单词:remove directory
作用:删除空目录
格式:rmdir 目录名

2.6 复制目录或文件

命令名:cp
对应单词:copy
作用:复制文件或目录
复制文件
cp source dest
复制目录
cp -r source dest

2.7 删除目录或文件

命令名:rm
对应单词:remove
主要参数:
[1]-f:强制删除
[2]-r:递归删除
说明:
[1]不能直接删除目录,要删除目录必须使用-r参数递归删除
[2]不使用-f参数时会有确认提示,使用-f参数后不进行确认直接删除
PS:想想rm命令怎么用可以很危险?

2.8 移动目录或文件

命令名:mv
对应单词:move
格式:mv [源目录/文件路径] [目标目录路径]
特殊效果:将目录或文件在当前位置移动可以起到重命名的作用

useradd testuser 创建用户testuser
passwd testuser 给已创建的用户testuser设置密码
userdel testuser 删除用户
id 用户名 查询用户信息指令
切换用户 su –切换用户名

1 查看文件内容

1.1 命令cat

对应单词:concatenate
作用:查看文件内容
常用参数
在这里插入图片描述

1.2 命令tac

按照和cat相反的方式显示文件内容

1.3 命令more

作用:一页一页显示文件内容
控制方式
[1]空格键:向下翻一页
[2]回车键:向下一行
[3]q:离开more命令的显示结果
[4]f:向下滚动一屏
[5]b:向上滚动一屏
[6]=:输出当前行行号
[7]:f:输出文件名和当前行号

1.4 命令less

作用:和more一样,但支持更多功能
控制方式
[1]空格键:向下翻一页
[2]回车键:向下一行
[3]q:离开less命令的显示结果
[4]f:向下滚动一屏
[5]b:向上滚动一屏
[6]=:输出当前位置信息
[7]pageDown:向下翻动一页
[8]pageUp:向上翻动一页
[9]/字串:向下搜索字串
[10]?字串:向上搜索字串
[11]n :重复前一个搜寻 (与 / 或 ? 有关)
[12]N :反向的重复前一个搜寻 (与 / 或 ? 有关)

1.5 命令head

作用:查看前面几行
用法:head -n 10 example.txt

1.6 命令tail

作用:查看文件最后几行
普通用法:tail -n 10 example.txt 查看后10行
高端用法:tail -f example.txt 实时查看文件末尾新值内容
此时还可以指定行数:tail -f 20 example.txt

2 查找

2.1 命令find

作用:查找文件或目录
格式:find [查找范围] [参数] [表达式]
注意:表达式最好放在引号中
例如:find /root -name ‘*.txt’

2.2 命令grep

作用:在文件内部查找内容
格式:grep+参数+查找内容+源文件
如果想要在多个源文件中查找,则多个文件名用空格分开
参数:
在这里插入图片描述

更多的时候用在管道中。

3 进程端口号操作

3.1 ps命令

①作用:查看进程
②对应单词:process status
③相关进程信息
[1]PID:进程ID
[2]TTY:进程所在终端
[3]TIME:进程所占用的CPU时间
[4]CMD:启动进程的命令
[5]UID:用户ID
[6]PPID:父进程ID
[7]C:用整数表示的CPU使用率
[8]STIME:进程启动时间
④经典用法
ps -ef
ps aux
效果相同,仅仅是不同发行版中的不同风格差异
⑤杀死进程
[1]使用ps -ef|grep 进程名查看进程id
ps -ef|grep bash|grep -v grep
[2] 使用kill -9 进程id实现杀死进程
kill -9 39537
⑥多重管道举例:ps -ef|grep bin/bash|grep -v grep|wc -l
wc -l :统计前面有共有多少条数据

3.2 netstat命令

①作用:查看网络状态
②对应单词:net status
③经典用法
[1]单独使用:netstat -anp
[2]组合使用:netstat -anp|grep :8080查看8080端口监听情况

4 压缩解压缩操作

4.1 tar命令

必选其中之一参数(而且 一次只能使用其中一个,不能同时使用多个):
(这五个参数是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用,但一次只能用其中一个)
-c:建立一个压缩文件的参数指令(create 的意思);
-x:解开一个压缩文件的参数指令!
-t:查看 tarfile 里面的文件!
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
特别注意,在参数的下达中, c/x/t/r/u 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
可选参数

下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性,即需要用 gzip 压缩
-j:有bz2属性,即需要用 bzip2 压缩
-Z:有compress属性的
-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!
-O:将文件解开到标准输出
-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
–exclude FILE:在压缩的过程中,不要将 FILE 打包!
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

4.1.1 压缩

tar -zcvf [压缩包文件名] 要压缩的内容

4.1.2 查看压缩包内容

tar -tvf [压缩包文件名]

4.1.3 解压缩:解压到当前目录下

tar -zxvf [压缩包文件名]

4.1.4 解压缩:解压到目标目录下

tar -zxvf [压缩包文件名] -C [目标目录]
注意:参数C是大写的。

4.2 zip/unzip命令[了解]

4.2.1 unzip命令查看压缩包内的内容
[root@pc0420 zip_test]# unzip -v total.zip
Archive:  total.zip
Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
      33  Defl:N        9  73% 08-15-2017 10:15 d4cff4ae  aaa.txt
      33  Defl:N        9  73% 08-15-2017 10:15 9ae6a16f  bbb.txt
      42  Defl:N        9  79% 08-15-2017 10:15 78b08634  ccc.txt
--------          -------  ---                            -------
     108               27  75%                            3 files
4.2.2 解压到当前目录下

解压到当前目录下,如果当前目录下已经存在同名文件,则询问处理方式
unzip [压缩包文件名]

[root@pc0420 zip_test]# unzip total.zip
Archive:  total.zip
replace aaa.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: aaa_new.txt
inflating: aaa_new.txt
4.2.3 解压到指定目录

unzip命名把压缩包内容解压到指定目录下,目标目录即使不存在都无妨,会自动创建
unzip [压缩包文件名] -d [目标目录路径]

[root@pc0420 zip_test]# unzip total.zip -d target/
Archive:  total.zip
  inflating: target/aaa.txt          
  inflating: target/bbb.txt          
  inflating: target/ccc.txt  
4.2.4 压缩路径对压缩包内目录结构的影响

压缩时使用相对路径,压缩包内只有被压缩的文件。
zip total.zip ./*
Archive: total.zip
Length Method Size Cmpr Date Time CRC-32 Name


  33  Defl:N        9  73% 08-15-2017 10:15 d4cff4ae  aaa.txt
  33  Defl:N        9  73% 08-15-2017 10:15 9ae6a16f  bbb.txt
  42  Defl:N        9  79% 08-15-2017 10:15 78b08634  ccc.txt

 108               27  75%                            3 files

压缩时使用绝对路径,压缩包内包含完整的目录结构
zip path_target.zip /tmp/yasuo/zip_test/*
Archive: path_target.zip
Length Method Size Cmpr Date Time CRC-32 Name


  33  Defl:N        9  73% 08-15-2017 10:15 d4cff4ae  tmp/yasuo/zip_test/aaa_new.txt
  33  Defl:N        9  73% 08-15-2017 10:15 d4cff4ae  tmp/yasuo/zip_test/aaa.txt
  33  Defl:N        9  73% 08-15-2017 10:15 9ae6a16f  tmp/yasuo/zip_test/bbb_new.txt
  33  Defl:N        9  73% 08-15-2017 10:15 9ae6a16f  tmp/yasuo/zip_test/bbb.txt
  42  Defl:N        9  79% 08-15-2017 10:15 78b08634  tmp/yasuo/zip_test/ccc_new.txt
  42  Defl:N        9  79% 08-15-2017 10:15 78b08634  tmp/yasuo/zip_test/ccc.txt
 162  Stored      162   0% 08-15-2017 10:18 e53eaf77  tmp/yasuo/zip_test/directory.zip
   0  Stored        0   0% 08-15-2017 10:18 00000000  tmp/yasuo/zip_test/happy/
   0  Stored        0   0% 08-15-2017 10:25 00000000  tmp/yasuo/zip_test/target/
 475  Stored      475   0% 08-15-2017 10:17 80788e43  tmp/yasuo/zip_test/total.zip

 853              691  19%                            10 files

4.3 gzip/gunzip命令[了解]

gzip 文件名
gunzip 文件名

只能压缩文件,不能压缩目录
不保留原文件

5 其他命令

5.1 history

查看到目前为止Linux系统中当前用户所有执行过的命令。
如果有需要可以使用“>”或“>>”操作符将命令执行结果写入文件。

:覆盖写

:追加写

5.2 pwd

对应单词:print working directory
打印当前所在目录

5.3 echo

输出数据。通常用来输出系统环境变量的值,系统环境变量可以通过“$变量名”的方式引用。
例如:echo $PATH

6 命令帮助

6.1 man命令

6.1.1 对应单词:manual手册
6.1.2 用法:man 命令名
6.1.3 举例:man ls
LS(1)                            User Commands                           LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the  FILEs (the current directory by default).  Sort
       entries alphabetically if none of -cftuvSUX nor --sort.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

:
……
       Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS
       Report ls bugs to bug-coreutils@gnu.org
       GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
       General help using GNU software: <http://www.gnu.org/gethelp/>
       Report ls translation bugs to <http://translationproject.org/team/>

COPYRIGHT
       Copyright  © 2010 Free Software Foundation, Inc.  License GPLv3+: GNU GPL ver-
       sion 3 or later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free to change and redistribute it.   There  is
       NO WARRANTY, to the extent permitted by law.

SEE ALSO
       The  full documentation for ls is maintained as a Texinfo manual.  If the info
       and ls programs are properly installed at your site, the command

              info coreutils 'ls invocation'

       should give you access to the complete manual.

GNU coreutils 8.4                  May 2016                              LS(1)
(END)
6.1.4 操作

翻页:PageUp、PageDown
上下:Up、Down
退出:q

6.1.5 数字说明

[1]用户在Shell环境中可以操作的命令或是可执行的文件
[2]系统内核(kernel)可以调用的函数
[3]常用的函数or函数库
[4]设备配置文件
[5]配置文件的格式
[6]游戏相关
[7]Linux网络协议和文件系统
[8]系统管理员可以用的命令
[9]跟内核有关系的文件

6.2 help参数

6.2.1 格式:具体命令名 --help
6.2.2 原理:很多命令都包含help参数
6.2.3 举例:ls --help
[root@Computer 桌面]# ls --help
用法:ls [选项]... [文件]...
列出 FILE 的信息(默认为当前目录)。
如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。

长选项必须使用的参数对于短选项时也是必需使用的。
  -a, --all            不隐藏任何以. 开始的项目
  -A, --almost-all        列出除... 以外的任何项目
      --author            与-l 同时使用时列出每个文件的作者
  -b, --escape            以八进制溢出序列表示不可打印的字符
      --block-size=大小        块以指定大小的字节为单位
  -B, --ignore-backups        不列出任何以"~"字符结束的项目
  -c                配合-lt:根据ctime 排序并显示ctime(文件
                状态最后更改的时间)
                配合-l:显示ctime 但根据名称排序                其他情况:按ctime 排序
  -C                每栏由上至下列出项目
      --color[=WHEN]        控制是否使用色彩分辨文件。WHEN 可以是
                "never"(默认)"always""auto"其中之一
  -d, --directory        当遇到目录时列出目录本身而非目录内的文件
  -D, --dired            产生适合Emacs 的dired 模式使用的结果
  -f                不进行排序,-aU 选项生效,-lst 选项失效
  -F, --classify        加上文件类型的指示符号(*/=@| 其中一个)
      --format=关键字        交错-x,逗号分隔-m,水平-x,长-l,
                单栏-1,详细-l,垂直-C
      --full-time        即-l --time-style=full-iso
  -g                类似-l,但不列出所有者
      --group-directories-first
            在文件前分组目录。此选项可与--sort 一起使用,
            但是一旦使用--sort=none (-U)将禁用分组
  -G, --no-group        以一个长列表的形式,不输出组名
  -h, --human-readable        与-l 一起,以易于阅读的格式输出文件大小
                (例如 1K 234M 2G)
      --si            同上面类似,但是使用1000 为基底而非1024
  -H, --dereference-command-line
                跟随命令行列出的符号链接
      --dereference-command-line-symlink-to-dir
                跟随命令行列出的目录的符号链接
      --hide=PATTERN             隐藏符合PATTERN 模式的项目
                (-a 或 -A 将覆盖此选项)
      --indicator-style=方式    指定在每个项目名称后加上指示符号方式:
                none (默认),classify (-F),file-type (-p)
  -i, --inode            显示每个文件的inode 号
  -I, --ignore=PATTERN        不显示任何符合指定shell PATTERN 的项目
  -k                即--block-size=1K
  -l                使用较长格式列出信息
  -L, --dereference        当显示符号链接的文件信息时,显示符号链接所指示
                的对象而并非符号链接本身的信息
  -m                所有项目以逗号分隔,并填满整行行宽
  -n, --numeric-uid-gid        类似 -l,但列出UID 及GID 号
  -N, --literal            输出未经处理的项目名称 (如不特别处理控制字符)
  -o                类似 -l,但不列出有关组的信息
  -p,  --indicator-style=slash    对目录加上表示符号"/"
  -q, --hide-control-chars    以"?"字符代替无法打印的字符
      --show-control-chars    直接显示无法打印的字符 (这是默认方式,除非调用
                的程序名称是"ls"而且是在终端输出结果)
  -Q, --quote-name        将条目名称括上双引号
      --quoting-style=方式    使用指定的quoting 方式显示条目的名称:
                literal、locale、shell、shell-always、c、escape
  -r, --reverse            排序时保留顺序
  -R, --recursive        递归显示子目录
  -s, --size            以块数形式显示每个文件分配的尺寸
  -S                根据文件大小排序
      --sort=WORD        以下是可选用的WORD 和它们代表的相应选项:
                extension -X       status   -c
                none      -U       time     -t
                size      -S       atime    -u
                time      -t       access   -u
                version   -v       use      -u
      --time=WORD        和-l 同时使用时显示WORD 所代表的时间而非修改时
                间:atime、access、use、ctime 或status;加上
                --sort=time 选项时会以指定时间作为排序关键字
      --time-style=STYLE    和-l 同时使用时根据STYLE 代表的格式显示时间:
                full-iso、iso、locale、posix-iso、+FORMAT。
                FORMAT 即是"date"所用的时间格式;如果FORMAT
                是FORMAT1<换行>FORMAT2,FORMAT1 适用于较旧
                的文件而FORMAT2 适用于较新的文件;如果STYLE
                以"posix-"开头,则STYLE 仅在POSIX 语系之外
                生效。
  -t                根据修改时间排序
  -T, --tabsize=宽度    指定制表符(Tab)的宽度,而非8 个字符
  -t            按修改时间排序
  -T, --tabsize=COLS    指定制表符(Tab)的宽度,而非8个字符
  -u            同-lt 一起使用:按照访问时间排序并显示
            同-l一起使用:显示访问时间并按文件名排序
            其他:按照访问时间排序
  -U            不进行排序;按照目录顺序列出项目
  -v            在文本中进行数字(版本)的自然排序
  -w, --width=COLS           assume screen width instead of current value
  -x                         list entries by lines instead of by columns
  -X                         sort alphabetically by entry extension
  -1                         list one file per line

SELinux options:

  --lcontext                 Display security context.   Enable -l. Lines
                             will probably be too wide for most displays.
  -Z, --context              Display security context so it fits on most
                             displays.  Displays only mode, user, group,
                             security context and file name.
  --scontext                 Display only security context and file name.
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。

使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。


退出状态:
 0  正常
 1  一般问题 (例如:无法访问子文件夹)
 2  严重问题 (例如:无法使用命令行参数)

请向bug-coreutils@gnu.org 报告ls 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告ls 的翻译错误
要获取完整文档,请运行:info coreutils 'ls invocation'

6.3 info命令

info 具体命令

File: coreutils.info,  Node: What information is listed,  Next: Sorting the out\
put,  Prev: Which files are listed,  Up: ls invocation
10.1.2 What information is listed
---------------------------------
These options affect the information that `ls' displays.  By default,
only file names are shown.
`--author'
     List each file's author when producing long format directory
     listings.  In GNU/Hurd, file authors can differ from their owners,
     but in other operating systems the two are the same.
`-D'
`--dired'
     With the long listing (`-l') format, print an additional line after
     the main output:
          //DIRED// BEG1 END1 BEG2 END2 ...
     The BEGN and ENDN are unsigned integers that record the byte
--zz-Info: (coreutils.info.gz)What information is listed, 278 lines --Top-------
空格键翻页
q键退出

7 Linux关机命令

7.1 慎重

关机前一定要确认确实要执行这个操作,否则可能造成数据丢失或服务出错等严重问题。千万不要主观的认为关机就是关机,直接关就是了,而是要考虑数据同步,通知已登录用户,保证安全操作。就真实生产环境而言,应用服务器极少关机,有可能出于维护等目的重启。

7.2 数据同步

使用sync命令可以将内存中的数据修改保存到硬盘上,为关机或重启做准备。执行关机重启前要先做这个操作。

7.3 关机命令

7.3.1 延迟关机

shutdown -h 延迟分钟数 “群发消息”

shutdown -h 10 "It is going to rain,get your clothes"
7.3.2 立即关机
shutdown -h now
halt
poweroff
7.3.3 阻止关机
shutdown -c

7.4 重启命令

7.4.1 延迟重启

shutdown -r 延迟分钟数 “群发消息”
shutdown -r 10 “It is going to rain,get your clothes”

7.4.2 立即重启
shutdown -r now
reboot

大数据学科所需命令

①主机名称
[1]查看主机名称

[root@hadoop01 ~]# hostname
hadoop01

[2]修改主机名称
修改配置文件:/etc/hostname
修改完成后重启生效
②修改hosts映射文件
后续在hadoop阶段,虚拟机会比较多,配置时通常会采用主机名的方式配置, 比较简单方便。 不用刻意记ip地址。
[1]Linux端设置

vim /etc/hosts

添加如下内容:

192.168.41.100 hadoop100
192.168.41.101 hadoop101
192.168.41.102 hadoop102
192.168.41.103 hadoop103
192.168.41.104 hadoop104
192.168.41.105 hadoop105

[2]Windows端设置
配置文件路径
C:\Windows\System32\drivers\etc\hosts
添加如下内容:

192.168.41.100 hadoop100
192.168.41.101 hadoop101
192.168.41.102 hadoop102
192.168.41.103 hadoop103
192.168.41.104 hadoop104
192.168.41.105 hadoop105

特殊说明:如果是Win10系统,由于权限控制的原因,需要把hosts文件复制到普通目录进行修改,然后再复制回去覆盖原文件。或者使用Switchhosts工具操作(需要以管理员身份运行)。
③时间日期

[root@hadoop001 ~]# date
20200711日 星期六 03:27:34 CST
[root@hadoop001 ~]# date +%Y
2020
[root@hadoop001 ~]# date +%m
07
[root@hadoop001 ~]# date +%d
11
[root@hadoop001 ~]# date +%H
03
[root@hadoop001 ~]# date +%M
27
[root@hadoop001 ~]# date +%S
59
[root@hadoop001 ~]# date +%Y'-'%m'-'%d
2020-07-11
[root@hadoop001 ~]# date +%F
2020-07-11
[root@hadoop001 ~]# date +%T
03:29:12
[root@hadoop001 ~]# date +%F' '%T
2020-07-11 03:29:20
[root@hadoop001 ~]# cal
    七月 2020     
日 一 二 三 四 五 六
         1  2  3  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

[root@hadoop001 ~]# cal -3
    六月 2020             七月 2020             八月 2020     
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
   1  2  3  4  5  6            1  2  3  4                     1
7  8  9 10 11 12 13   5  6  7  8  9 10 11   2  3  4  5  6  7  8
14 15 16 17 18 19 20  12 13 14 15 16 17 18   9 10 11 12 13 14 15
21 22 23 24 25 26 27  19 20 21 22 23 24 25  16 17 18 19 20 21 22
28 29 30              26 27 28 29 30 31     23 24 25 26 27 28 29
                                           30 31
[root@hadoop001 ~]# cal -y
                              2020                               

      一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
         1  2  3  4                      1    1  2  3  4  5  6  7
5  6  7  8  9 10 11    2  3  4  5  6  7  8    8  9 10 11 12 13 14
12 13 14 15 16 17 18    9 10 11 12 13 14 15   15 16 17 18 19 20 21
19 20 21 22 23 24 25   16 17 18 19 20 21 22   22 23 24 25 26 27 28
26 27 28 29 30 31      23 24 25 26 27 28 29   29 30 31

      四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
         1  2  3  4                   1  2       1  2  3  4  5  6
5  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
      七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
         1  2  3  4                      1          1  2  3  4  5
5  6  7  8  9 10 11    2  3  4  5  6  7  8    6  7  8  9 10 11 12
12 13 14 15 16 17 18    9 10 11 12 13 14 15   13 14 15 16 17 18 19
19 20 21 22 23 24 25   16 17 18 19 20 21 22   20 21 22 23 24 25 26
26 27 28 29 30 31      23 24 25 26 27 28 29   27 28 29 30
                      30 31
      十月                 十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
            1  2  3    1  2  3  4  5  6  7          1  2  3  4  5
4  5  6  7  8  9 10    8  9 10 11 12 13 14    6  7  8  9 10 11 12
11 12 13 14 15 16 17   15 16 17 18 19 20 21   13 14 15 16 17 18 19
18 19 20 21 22 23 24   22 23 24 25 26 27 28   20 21 22 23 24 25 26
25 26 27 28 29 30 31   29 30                  27 28 29 30 31

④临时提升权限
和root用户相比,普通用户权限小很多,很多操作做不了。
使用sudo命令可以临时将普通用户权限提升到root级别。

# /opt目录下没有aaa目录
[luozhixiang@hadoop001 opt]$ ll
总用量 4
drwxr-xr-x. 2 root root 4096 97 2017 rh

# 用普通用户在/opt下创建aaa目录权限不够
[luozhixiang@hadoop001 opt]$ mkdir aaa
mkdir: 无法创建目录"aaa": 权限不够

# 使用sudo命令临时提权被提示不在sudoers文件中
[luozhixiang@hadoop001 opt]$ sudo mkdir aaa

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

   #1) 尊重别人的隐私。
   #2) 输入前要先考虑(后果和风险)。
   #3) 权力越大,责任越大。

[sudo] luozhixiang 的密码:
luozhixiang 不在 sudoers 文件中。此事将被报告。

# 目录没有创建成功
[luozhixiang@hadoop001 opt]$ ll
总用量 4
drwxr-xr-x. 2 root root 4096 97 2017 rh
将需要提权的普通用户加入到/etc/sudoers文件中
91 ## Allow root to run any commands anywhere 
92 root    ALL=(ALL)       ALL
93 luozhixiang ALL=(ALL)   ALL
不需要重启系统,我们再次测试提权:
# 操作可以成功,需要密码
[luozhixiang@hadoop001 opt]$ sudo mkdir aaa
[sudo] luozhixiang 的密码:
[luozhixiang@hadoop001 opt]$ ll
总用量 8
drwxr-xr-x. 2 root root 4096 711 04:08 aaa
drwxr-xr-x. 2 root root 4096 97 2017 rh
再修改/etc/sudoers文件
93 luozhixiang ALL=(ALL)   NOPASSWD:ALL
这样再使用sudo命令就不需要输入密码了
Connecting to 192.168.41.100:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Sat Jul 11 04:10:14 2020 from 192.168.41.1
[luozhixiang@hadoop001 ~]$ cd /opt
[luozhixiang@hadoop001 opt]$ sudo mkdir aaa
[luozhixiang@hadoop001 opt]$ ll
总用量 8
drwxr-xr-x. 2 root root 4096 711 04:12 aaa
drwxr-xr-x. 2 root root 4096 97 2017 rh
这里有两点需要注意:
•	在同一次登录中,即使不加NOPASSWD也只需要输入一次密码,所以NOPASSWD是否生效需要退出登录后再重新登录来测试。
•	使用sudo提权后创建的目录仍然是root root权限,如果有需要那就还要使用chown或chgrp来修改。

⑤基于索引搜索文件
用查字典来说明为什么使用索引搜索更快。
• 第一种方式:一页一页的翻,直到从正文中找到要找的字。
• 第二种方式:先在检字表中找到要找的字,知道这个字在第几页,直接翻到这一页。

[root@hadoop001 ~]# locate Person.java
/root/Person.java
由于locate命令是基于索引进行搜索的,所以对于本次开机后新建的文件需要先使用updatedb命令更新索引库才能找到。
# 新建文件
[root@hadoop001 ~]# touch apple.txt

# 搜索,没有找到
[root@hadoop001 ~]# locate apple.txt

# 更新索引库
[root@hadoop001 ~]# updatedb

# 再次搜索成功
[root@hadoop001 ~]# locate apple.txt
/root/apple.txt

⑥查看进程树
命令名 显示进程ID 显示用户名
pstree -p -u

⑦查看系统健康状态
[1]命令与参数
命令名 更新时间间隔(秒) 不显示任何闲置或者僵死进程 通过进程id监控单一进程
top -d 间隔秒数 -i -p 进程id
[2]操作控制:
操作 功能
P 根据CPU使用率排序,默认值
M 以内存的使用率排序
N 以PID排序
q 退出
[3]查询结果字段解释
第一行信息为任务队列信息
在这里插入图片描述

第二行为进程信息
在这里插入图片描述

第三行为CPU信息
在这里插入图片描述

第四行为物理内存信息
在这里插入图片描述

第五行为交换分区(swap)信息
在这里插入图片描述

⑧定时任务[了解]
[1]命令信息
crontab [选项]
[2]选项说明
选项 功能
-e 编辑定时任务
-l 查询定时任务
-r 删除当前用户所有的定时任务
[3]cron表达式语法

在这里插入图片描述

特殊符号
在这里插入图片描述

实例
在这里插入图片描述

[4]创建定时任务

crontab -e

进入VIM编辑器输入:

*/1 * * * * /bin/echo "Hello" >> /root/apple.txt

保存退出,使用tail命令实时查看apple.txt文件内容

tail -f /root/apple.txt

使用-l参数查看当前定时任务

[root@hadoop001 ~]# crontab -l
*/1 * * * * /bin/echo "Hello" >> /root/apple.txt

使用-r参数删除当前定时任务

[root@hadoop001 ~]# crontab -r
[root@hadoop001 ~]# crontab -l
no crontab for root

⑨tail实时查看文件的补充
[1]使用-F监控
tail -F 被监控的文件
使用-f在某些目录下无法监控到文件末尾的新增内容是因为文件底层的唯一档案号发生了改变,使用-F参数不受这种情况的影响。
[2]使用echo将新内容追加到文件末尾
使用echo将新内容追加到文件末尾,文件的档案号不会改变,使用tail -f形式仍然可以监控。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值