Linux【理论】

Linux理论与基本命令

一、Linux概述

1、什么是Linux

Linux 系统是⼀款操作系统,不同于⼤众消费领域的 Windows 系统和苹果系统,Linux 系统主要是应⽤于服务器和⼤型计算机领域。我们⽣活中的⼤部分的⽹⻚和 APP,其实都是基于 Linux 系统运⾏的,这其中就包括我们经常会使⽤的淘宝和微信。Linux 系统的开发模式是开源,⽽这也正是它的核⼼特⾊。开源代表该系统的源代码能被⾃由获取、使⽤和修改。所以 Linux 系统和其他商业软件最⼤的区别就是它拥有更多的⾃由性。

2、什么是开源

开源是开放源代码的简称,代表该源代码能被自由获取、使用和修改。同时这些被修改过的代码,也必须让其他⼈可以自由获得。

拿 Linux 系统来说,就是所有⼈都可以自由获取 Linux 系统的源代码,并且能够自由地使用和修改它的源代码。同时修改过的版本,也必须让其他⼈可以自由获取、使用和修改

3、linux相关知识

1)linux中超级管理员的账户是root。

2)Linus:拥有全球顶级的程序员;占领了服务器市场约70%;且服务器的特性以安全为主(一分钟不操作强制下线;解决方法:输入TOP)。

4、Linux的目录

Linux的目录如图所示:

[zl@centos-master ~]$ ls /
bin   data  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib64  media       opt  root  sbin  sys  usr
//bin:存放着最经常使用的命令。
//boot:存放启动 Linux 时使用的⼀些核心文件,包括⼀些连接⽂件以及镜像⽂件。
//dev:存放 Linux 的外部设备
//etc:存放所有的系统管理所需要的配置文件和子目录。
//home:用户的主目录,在 Linux 中,每个用户都有⼀个自己的目录,⼀般该目录名是以用户的账号命名的。
//lib:存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL ⽂件。⼏乎所有的应⽤程序都需要⽤到这些共享库。
//media:linux 系统会⾃动识别⼀些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
//mnt:用于临时挂载别的文件系统,我们可以将光驱挂载在 /mnt/ 上,然后进⼊该目录就可以查看光驱里的内容了。
//opt:给主机额外安装软件所摆放的目录。比如你安装⼀个ORACLE数据库则就可以放到这个目录下。默认是空的。
//root:该目录为系统管理员(超级权限者)的用户主目录。
//sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级⽤户的⼆进制⽂件) 的缩写,用于存放系统管理员使用的系统管理程序。
//selinux:用于存放selinux相关的⽂件。这个目录是 Redhat/CentOS 所特有的目录,Selinux 是⼀个安全机制,类似于 windows 的防⽕墙,但是这套机制比较复杂。
//srv:存放⼀些服务启动之后需要提取的数据。
//sys:这是 Linux2.6 内核的⼀个很⼤的变化。用于安装 2.6 内核中新出现的⼀个文件系统 sysfs.
      sysfs ⽂件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统,以及针对伪终端的 devpts 文件系统。
      该⽂件系统是内核设备树的⼀个直观反映。当⼀个内核对象被创建的时候,对应的⽂件和⽬录也在内核对象⼦系统中被创建。
//tmp:tmp 是 temporary(临时) 的缩写这个⽬录是用来存放⼀些临时文件的。
//usr:usr 是 unix shared resources(共享资源) 的缩写,这是⼀个⾮常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
//usr/bin:系统用户使用的应用程序。
//usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
//usr/src:内核源代码默认的放置目录。
//var:var 是 variable(变量) 的缩写,用于存放着在不断扩充的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

二、Linux基本命令

1、Linux登入

1)登录步骤

在阿里云服务器创建账户密码,之后个人客户端通过ssh服务连接到阿里云,其中ssh服务端口为22;

连接命令ssh 账户@101.43.158.84 ;

然后按下回车键,再输⼊密码123456,最后回车,便登录成功。

//账户
C:\Users\EDY>ssh zl@101.43.158.84

//密码
zl@101.43.158.84's password:
    
//登录成功
Activate the web console with: systemctl enable --now cockpit.socket

Last failed login: Sat Feb 26 11:43:32 CST 2022 from 117.22.180.84 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Fri Feb 25 16:16:51 2022 from 117.22.141.38
[zl@centos-master ~]$

2)如何登陆后不退出

自动退出的原因

Linus的服务器以安全为主,其特性为【一分钟不操作强制下线】,出于安全的考虑,在一段时间不操作的情况下就会自动退出登录。

解决自动退出的方法

输入命令【TOP】,即输入【TOP】调出监控。(TOP 命令是常用的 Linux 性能监控的命令)

[zl@centos-master ~]$ top
    
//top,监视器数据
top - 11:45:41 up 3 days,  1:44,  1 user,  load average: 2.81, 2.68, 2.72
Tasks: 126 total,   1 running, 125 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.5 us,  3.0 sy, 83.7 ni,  0.0 id,  0.0 wa,  0.7 hi,  0.2 si,  0.0 st
MiB Mem :   3736.5 total,    109.7 free,   3250.4 used,    376.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    268.6 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
1329266 root      30  10 2518324   2.0g      8 S 167.0  56.1   2165:52 xmrig
1747082 root      20   0  833820  80772  63288 S  21.7   2.1   0:00.65 kube-apiserver
   1102 root      20   0 1873880  73952  21168 S   1.3   1.9  41:44.58 kubelet
   1706 root      20   0 1417564  64476    740 S   1.0   1.7  13:56.47 dockerd

退出top监视器,点击“q”回车即可。

2、查看命令

1)查看当前账户目录

pwd:查看当前账户目录

[zl@centos-master ~]$ pwd
/home/zl

2)ls命令选项

基本格式:ls [ 选项 ] [ 目录名 ]

命令选项

ls /:查看目录

ls -a:列出目录下的所有文件

ls -l:列出文件的详细信息

ls -i:查看⽂件的iNode号(iNode会指向文件块所在的位置)

ls -h:以容易读取的方式显示文件大小

ls -d:仅列出目录本身

ls -lh:查看文件的详细信息(包含了文件大小)

ls -la:查看所有文件(包含了隐藏文件)

ls -lah:查看所有文件以及文件大小

//ls /:查看目录与文件
[zl@centos-master ~]$ ls /
bin   data  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib64  media       opt  root  sbin  sys  usr

    
//ls -a:列出目录下的所有文件
[zl@centos-master ~]$ ls -a
.   a      asd     asd.sh       .asd.sh.swo  .bash_history  .bash_profile  .config    index.txt  target  .viminfo
..  anruo  asd,sh  .asd.sh.swn  .asd.sh.swp  .bash_logout   .bashrc        index.app  source     .vim    wugen

    
//ls -l:列出文件的详细信息
[zl@centos-master ~]$ ls -l
total 32
drwxrwxr-x 3 zl zl 4096 Feb 21 18:02 a
drwxrwxr-x 2 zl zl 4096 Feb 22 10:03 anruo
drwxrwxr-x 2 zl zl 4096 Feb 22 15:50 asd
-rwxrwxrwx 1 zl zl   12 Feb 22 15:53 asd,sh
-rwxrwxrwx 1 zl zl   13 Feb 22 16:08 asd.sh
-rw-rw-r-- 1 zl zl    0 Feb 22 09:31 index.app
-rwxrwxrwx 1 zl zl    0 Feb 21 14:26 index.txt
drwxrwxr-x 2 zl zl 4096 Feb 22 09:39 source
drwxrwxr-x 2 zl zl 4096 Feb 22 09:41 target
drwxrwxr-x 2 zl zl 4096 Feb 22 10:40 wugen

    
//ls -i:查看⽂件的iNode号(iNode会指向文件块所在的位置)
[zl@centos-master ~]$ ls -i
2359408 a      2359453 asd     2359493 asd.sh     2359494 index.txt  2359657 target
2359558 anruo  2359492 asd,sh  2359419 index.app  2359655 source     2359574 wugen

    
//ls -h:以容易读取的方式显示文件大小
[zl@centos-master ~]$ ls -h
a  anruo  asd  asd,sh  asd.sh  index.app  index.txt  source  target  wugen

    
//ls -d:仅列出目录本身
[zl@centos-master ~]$ ls -d
.

    
//ls -lh:查看文件的详细信息(包含了文件大小)
[zl@centos-master ~]$ ls -lh
total 32K
drwxrwxr-x 3 zl zl 4.0K Feb 21 18:02 a
drwxrwxr-x 2 zl zl 4.0K Feb 22 10:03 anruo
drwxrwxr-x 2 zl zl 4.0K Feb 22 15:50 asd
-rwxrwxrwx 1 zl zl   12 Feb 22 15:53 asd,sh
-rwxrwxrwx 1 zl zl   13 Feb 22 16:08 asd.sh
-rw-rw-r-- 1 zl zl    0 Feb 22 09:31 index.app
-rwxrwxrwx 1 zl zl    0 Feb 21 14:26 index.txt
drwxrwxr-x 2 zl zl 4.0K Feb 22 09:39 source
drwxrwxr-x 2 zl zl 4.0K Feb 22 09:41 target
drwxrwxr-x 2 zl zl 4.0K Feb 22 10:40 wugen

    
//ls -la:查看所有文件(包含了隐藏文件)
[zl@centos-master ~]$ ls -la
total 112
drwx------  10 zl   zl    4096 Feb 22 16:08 .
drwxr-xr-x. 14 root root  4096 Feb 21 11:08 ..
drwxrwxr-x   3 zl   zl    4096 Feb 21 18:02 a
drwxrwxr-x   2 zl   zl    4096 Feb 22 10:03 anruo
drwxrwxr-x   2 zl   zl    4096 Feb 22 15:50 asd
-rwxrwxrwx   1 zl   zl      12 Feb 22 15:53 asd,sh
-rwxrwxrwx   1 zl   zl      13 Feb 22 16:08 asd.sh
-rw-r--r--   1 zl   zl   12288 Feb 22 15:28 .asd.sh.swn
-rw-r--r--   1 zl   zl   12288 Feb 22 15:20 .asd.sh.swo
-rw-r--r--   1 zl   zl   12288 Feb 22 15:11 .asd.sh.swp
-rw-------   1 zl   zl    6069 Feb 22 17:02 .bash_history
-rw-r--r--   1 zl   zl      18 Jul 27  2021 .bash_logout
-rw-r--r--   1 zl   zl     141 Jul 27  2021 .bash_profile
-rw-r--r--   1 zl   zl     376 Jul 27  2021 .bashrc
drwx------   3 zl   zl    4096 Feb 21 11:26 .config
-rw-rw-r--   1 zl   zl       0 Feb 22 09:31 index.app
-rwxrwxrwx   1 zl   zl       0 Feb 21 14:26 index.txt
drwxrwxr-x   2 zl   zl    4096 Feb 22 09:39 source
drwxrwxr-x   2 zl   zl    4096 Feb 22 09:41 target
drwxr-xr-x   2 zl   zl    4096 Feb 22 15:50 .vim
-rw-------   1 zl   zl    6930 Feb 22 16:08 .viminfo
drwxrwxr-x   2 zl   zl    4096 Feb 22 10:40 wugen

    
//ls -lah:查看所有文件以及文件大小
[zl@centos-master ~]$ ls -lah
total 112K
drwx------  10 zl   zl   4.0K Feb 22 16:08 .
drwxr-xr-x. 14 root root 4.0K Feb 21 11:08 ..
drwxrwxr-x   3 zl   zl   4.0K Feb 21 18:02 a
drwxrwxr-x   2 zl   zl   4.0K Feb 22 10:03 anruo
drwxrwxr-x   2 zl   zl   4.0K Feb 22 15:50 asd
-rwxrwxrwx   1 zl   zl     12 Feb 22 15:53 asd,sh
-rwxrwxrwx   1 zl   zl     13 Feb 22 16:08 asd.sh
-rw-r--r--   1 zl   zl    12K Feb 22 15:28 .asd.sh.swn
-rw-r--r--   1 zl   zl    12K Feb 22 15:20 .asd.sh.swo
-rw-r--r--   1 zl   zl    12K Feb 22 15:11 .asd.sh.swp
-rw-------   1 zl   zl   6.0K Feb 22 17:02 .bash_history
-rw-r--r--   1 zl   zl     18 Jul 27  2021 .bash_logout
-rw-r--r--   1 zl   zl    141 Jul 27  2021 .bash_profile
-rw-r--r--   1 zl   zl    376 Jul 27  2021 .bashrc
drwx------   3 zl   zl   4.0K Feb 21 11:26 .config
-rw-rw-r--   1 zl   zl      0 Feb 22 09:31 index.app
-rwxrwxrwx   1 zl   zl      0 Feb 21 14:26 index.txt
drwxrwxr-x   2 zl   zl   4.0K Feb 22 09:39 source
drwxrwxr-x   2 zl   zl   4.0K Feb 22 09:41 target
drwxr-xr-x   2 zl   zl   4.0K Feb 22 15:50 .vim
-rw-------   1 zl   zl   6.8K Feb 22 16:08 .viminfo
drwxrwxr-x   2 zl   zl   4.0K Feb 22 10:40 wugen

3、命令的别名

alias:查看系统存在的别名;

alias 别名='系统认可的命令':定义别名;(例如:alias ls="ls -la":定义"ls -la"的别名为ls)

unalias 别名:取消别名;(例如:unalias ls:取消别名“ls”)

//alias:查看系统存在的别名;(查看原有别名)
[zl@centos-master ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'  
    
//alias 别名='系统认可的命令':定义别名.
[zl@centos-master ~]$ alias ls="asd"  
    
//alias:查看系统存在的别名;(验证添加别名 ls="asd" 是否成功)
[zl@centos-master ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='asd'
alias vi='vim'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'
 
//unalias 别名:取消别名
[zl@centos-master ~]$ unalias ls   

//alias:查看系统存在的别名;(验证删除别名 ls="asd" 是否成功)
[zl@centos-master ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias vi='vim'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'

4、切换目录

cd    :返回到用户的家目录

cd /  :代表根目录

cd.   :当前目录

cd..  :进⼊当前目录的上⼀级目录

//ls /:查看目录与文件
[zl@centos-master ~]$ ls /
bin   data  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib64  media       opt  root  sbin  sys  usr
    
//cd:返回到用户的家目录
[zl@centos-master ~]$ cd
    
//ls:查看当前目录与文件(验证 cd 结果)
[zl@centos-master ~]$ ls
a  anruo  asd  asd,sh  asd.sh  index.app  index.txt  source  target  wugen
    
//cd .:查看当前目录
[zl@centos-master ~]$ cd .
    
//ls:查看当前目录与文件(验证 cd . 结果)
[zl@centos-master ~]$ ls
a  anruo  asd  asd,sh  asd.sh  index.app  index.txt  source  target  wugen
    
//cd ..:进⼊当前目录的上⼀级目录
[zl@centos-master ~]$ cd ..
    
//ls:查看当前目录与文件(验证 cd .. 结果)
[zl@centos-master home]$ ls
cl  jc  lighthouse  lm  rq  wp  wq  wuya  xj  xl  yl  zl
    
//cd /:返回根目录
[zl@centos-master home]$ cd /
    
//ls:查看当前目录与文件(验证 cd / 结果)
[zl@centos-master /]$ ls
bin   data  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib64  media       opt  root  sbin  sys  usr

5、创建文件夹(目录)

mkdir 文件夹名称:创建文件夹。

mkdir -pv 文件夹名称:创建且过程可视化的多层级文件夹。

其中: -p:创建多层级的文件夹;-v:创建的过程可以可视化的看到。

//mkdir -pv 文件夹名称:创建且过程可视化的多层级文件夹
[zl@centos-master ~]$ mkdir -pv acd/q/w/e/r
mkdir: created directory 'acd'
mkdir: created directory 'acd/q'
mkdir: created directory 'acd/q/w'
mkdir: created directory 'acd/q/w/e'
mkdir: created directory 'acd/q/w/e/r'
    
//ls:查看目录与文件(验证目录创建成功)
[zl@centos-master ~]$ ls
a  aaa  acd  anruo  asd  asd,sh  asd.sh  index.app  index.txt  source  target  wugen
    
//mkdir 文件夹名称:创建级文件夹
[zl@centos-master ~]$ mkdir ABC
    
//ls:查看目录与文件(验证目录创建成功)
[zl@centos-master ~]$ ls
a  aaa  ABC  acd  anruo  asd  asd,sh  asd.sh  index.app  index.txt  source  target  wugen

6、创建文件touch

touch 文件名字:创建空白文件

//touth 文件名:创建文件
[zl@centos-master ~]$ touch CAD
    
//ls:查看文件与目录(验证文件创建成功)
[zl@centos-master ~]$ ls
a  aaa  ABC  acd  anruo  asd  asd,sh  asd.sh  CAD  index.app  index.txt  QWE  source  target  wugen

//touth 文件夹/文件:在文件夹里创建文件    
[zl@centos-master ~]$ touch anruo/acd
    
//查看树状目录(验证文件创建成功)
[zl@centos-master ~]$ tree anruo
anruo
└── acd

0 directories, 1 file

7、树形目录命令

通常情况下系统未安装该命令,需要yum install -y tree安装 直接使⽤tree显示深度太多,⼀般会使⽤ -L选项⼿⼯设定⽬录深度

1)安装与卸载

yum install -y tree:安装树形目录

yum uninstall tree:删除树状目录

2)查看所有目录(树形)

tree 第一级目录名称:查看所有目录(树状)

3)查看指定深度目录(树形)

tree -L n [目录]:查看指定深度目录(树形)【其中n指定目录深度】

//mkdir -pv 文件夹名称:创建且过程可视化的多层级文件夹。
[zl@centos-master ~]$ mkdir -pv acd/a/s/d/f/g
mkdir: created directory 'acd'
mkdir: created directory 'acd/a'
mkdir: created directory 'acd/a/s'
mkdir: created directory 'acd/a/s/d'
mkdir: created directory 'acd/a/s/d/f'
mkdir: created directory 'acd/a/s/d/f/g'

//tree 第一级目录名称:查看所有目录(树状)  
[zl@centos-master ~]$ tree acd
acd
└── a
    └── s
        └── d
            └── f
                └── g

5 directories, 0 files
    
//tree -L n [目录]:查看指定深度目录(树形)【其中n指定目录深度】
[zl@centos-master ~]$ tree -L 3
.
├── acd
│   └── a
│       └── s
└── index.txt

3 directories, 1 file

8、删除目录或文件

1)删除目录

rm -r 目录名称:直接删除

rm -rf 目录名称:强制删除,若目录不存在,此命令依旧可以执行,不报错

rm -rv 目录名称:可视化的删除

rm 目录名称:删除目录

rm -r 目录名称:直接删除

rm -rf 目录名称:强制删除

rm -rv 目录名称:可视化的删除

[zl@centos-master ~]$ ls
aaa  acd  bbb  ccc  index.txt

//rm -r 目录名称:直接删除
[zl@centos-master ~]$ rm -r aaa
    
//ls:查看目录与文件(验证aaa是否删除成功)
[zl@centos-master ~]$ ls
acd  bbb  ccc  index.txt
    
//rm -rf 目录名称:强制删除(不可视)
[zl@centos-master ~]$ rm -rf bbb
    
//ls:查看目录与文件(验证bbb是否删除成功)
[zl@centos-master ~]$ ls
acd  ccc  index.txt
    
//rm -rf 目录名称:强制删除(不可视,若目录不存在,此命令依旧可以执行,不报错)
[zl@centos-master ~]$ rm -rf qqq
    
//rm -rv 目录名称:可视化的删除(removed directory:删除成功)
[zl@centos-master ~]$ rm -rv ccc
removed directory 'ccc'

2)删除文件

rm -f 文件名 :强制删除文件

rm -i 文件名 :询问确认后删除文件

rm -v 文件名 :删除文件(可视化的只展示)

rm -iv 文件名 :询问确认后删除文件+可视化展示

//ls:查看目录与文件
[zl@centos-master ~]$ ls
acd  index.app  index.att  index.qqq  index.tix  index.txt
    
//rm -f 文件名:强制删除文件
[zl@centos-master ~]$ rm -f index.app
    
//ls:查看目录与文件
[zl@centos-master ~]$ ls
acd  index.att  index.qqq  index.tix  index.txt
    
//rm -i 文件名:询问确认后删除文件
[zl@centos-master ~]$ rm -i index.att
rm: remove regular empty file 'index.att'? y
    
//ls:查看目录与文件
[zl@centos-master ~]$ ls
acd  index.qqq  index.tix  index.txt
    
//rm -v 文件名:删除文件(可视化的只展示)
[zl@centos-master ~]$ rm -v index.tix
removed 'index.tix'

//rm -iv 文件名:询问确认后删除文件+可视化展示
[zl@centos-master ~]$ ls
acd  index.qqq  index.txt
[zl@centos-master ~]$ rm -iv index.qqq
rm: remove regular empty file 'index.qqq'? y
removed 'index.qqq'

9、复制cp

源⽂件始终不变,仅仅是对目标文件进行改变。

1)复制文件

cp 原文件 目标文件:复制原文件,并命名为目标文件

//ls:查看目录与文件
[zl@centos-master ~]$ ls
acd  index.txt
    
//cp 原文件 目标文件:复制原文件,并命名为目标文件
[zl@centos-master ~]$ cp index.txt index.app
    
//ls:查看目录与文件(验证复制成功)
[zl@centos-master ~]$ ls
acd  index.app  index.txt

2)复制目录

cp 原目录/原文件 目标目录/目标文件:把一个文件从⼀个目录复制到另外一个目录。

//创建 anruo 文件夹
[zl@centos-master ~]$ mkdir anruo
    
//创建 wugen 文件夹
[zl@centos-master ~]$ mkdir wugen
    
//查看文件与目录(验证创建成功)
[zl@centos-master ~]$ ls
acd  anruo  index.app  index.txt  wugen
    
//cp 文件名称 目录
[zl@centos-master ~]$ cp index.txt wugen
    
//tree 目录名称:树状目录(验证文件加入该目录中)
[zl@centos-master ~]$ tree wugen
wugen
└── index.txt

0 directories, 1 file
    
//cp 原目录/原文件 目标目录/目标文件:把一个文件从⼀个目录复制到另外一个目录。
[zl@centos-master ~]$ cp wugen/index.txt anruo/index.pdf
    
//tree 目录名称:树状目录(验证文件加入该目录中)
[zl@centos-master ~]$ tree anruo
anruo
└── index.pdf

0 directories, 1 file

10、移动mv

1)移动文件

mv 文件名称 目标目录:文件剪切到文件夹下。

mv 原目录/原文件 目标目录:把目录下的文件剪切到另外⼀个目录。

2)重命名

mv 原文件 目标文件:重命名。

//ls:查看目录与文件
[zl@centos-master ~]$ ls
acd  anruo  index.app  index.pdf  index.ppt  index.txt  wugen
    
//tree 目录名称:树状目录(查看初始状态)
[zl@centos-master ~]$ tree wugen
wugen
└── index.txt

0 directories, 1 file
    
//mv 文件名称 目标目录:文件剪切到文件夹下。
[zl@centos-master ~]$ mv index.ppt wugen
    
//tree 目录名称:树状目录(验证文件加入该目录中)
[zl@centos-master ~]$ tree wugen
wugen
├── index.ppt
└── index.txt

0 directories, 2 files
    
//ls:查看目录与文件(验证剪贴后,文件是否从根目录中消失)
[zl@centos-master ~]$ ls
acd  anruo  index.app  index.pdf  index.txt  wugen
    
//tree 目录名称:树状目录(查看初始状态)
[zl@centos-master ~]$ tree anruo
anruo
├── index.app
└── index.pdf

0 directories, 2 files
    
//mv 原目录/原文件 目标目录:把目录下的文件剪切到另外⼀个目录。
[zl@centos-master ~]$ mv anruo/index.app wugen
    
//tree 目录名称:树状目录(验证文件加入该目录中)
[zl@centos-master ~]$ tree wugen
wugen
├── index.app
├── index.ppt
└── index.txt

0 directories, 3 files

0 directories, 2 files
  
//mv 原文件 目标文件:重命名。
[zl@centos-master ~]$ mv index.app index.ppp
    
//ls:查看目录与文件(验证结果)
[zl@centos-master ~]$ ls
acd  anruo  index.pdf  index.ppp  index.txt  wugen

11、文件查看内容

1)cat(正序显示)

cat -n 文件:显示文件的行数

cat -A 文件:显示文件所有内容但是不显示行号

2)tac(倒序显示)

more 文件:⼀屏⼀屏查看文件内容

less 文件:查看文件内容

head -n N 文件名:查看文件开头几行(N为数字,值得是要看几行)

tail -n N 文件名:查看文件结尾几行(N为数字,值得是要看几行)

3)如何查看实时日志

tail -f 文件:查看实时日志

12、权限操作

1)权限数字

r:表示读得权限;读的权限用数字4代表。

w:表示写的权限;写的权限用数字2代表。

x:表示执行的权限;执行的权限用数字1代表。

我们赋予权限都会用数字代替,比如说我们要赋予读、写和执行的权限,我们就用7代替,读、写的权限就用6代替。

chmod nnn 文件名:赋予文件权限(n表示权限的数字,3个n,自左向右依次代表所有者、所属组和其他人)

2)基本权限

文件基本权限为:一个文件的基本权限就是 3 种用户身份(所有者、所属组和其他人)

其中u表示所有者(蓝色框),g表示所属组(绿色框),o表示其他人(红色框)t。a是代表全部的三种身份,即u+g+o。

chmod 用户身份+用户权限字母 文件名:增加某一个用户的权限

chmod 用户身份-用户权限字母 文件名:移除某一个用户的权限

chmod 用户身份=用户权限字母 文件名:设定文件的权限

13、sh文件怎么处理

1).sh指的是可执行的文件,当我们赋予该文件执行的权限后,运行./文件名命令就可以执行

2)在linux中,我们编辑文件是通过vim编辑器进行编辑的,

3)如何把date的命令写入到将要执行的文件夹

     编辑的命令为vim 文件名;

     进入编辑页面后,先输入a,之后进行编辑;

     输入完后点击esc,然后按下Shift+:,最后点击wq即可退出编辑。

14、资源查看

1)查看内存 free

free:默认是以KB为单位显示的;free -m/g:以MB/GB显示其单位;

2)Mem行相关数据

total = used + free ,其中used为真实已占内存,free为真实可用内存;

buffers和cached虽然计算在used内, 但其实为可用内存。

3)Swap

内存交换区的使用情况。

4)内存

内存分为:total为总内存used:已占用内存available:可用内存三部分。

ps auxw | head -1;ps auxw|sort -rn -k4|head -5   查看内存占用前五的进程

ps auxw|head -1;ps auxw|sort -rn -k3|head -3     查看cpu占用前三的进程

5)整体负载top

(1)top行

       系统的平均负载(Load everage)=系统时间+系统运行时间+用户数+1/5/15分钟。

      平均负载是系统处于可运行状态和不可中断状态的平均进程数,可以简单理解为平均活跃进程数。

      平均活跃进程数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转。

(2)Taska行

      进程总数(total)=正在运行的进程数(running)+睡眠的进程数(sleeping)+已经停止的进程数(stopped)+僵尸进程数(zombie)。

(3)Cpu行

      用户空间CPU占比(us)=内核空间CPU占比(sy)+CPU空置率(id)。

(4)TOP详解

       PID:进程ID   

       USER:用户名 

       PR:优先级

       NI:负值表示⾼优先级,正值表示低优先级

       VIRS:虚拟内存

       RES:共享内存

       SHR:真是内存

       S:进程状态  (D表示不可中断的睡眠状态; R表示运⾏; S表示睡眠 ;T表示跟踪/停止; Z表示僵尸进程)

15、端口查看

1)lsof

lsof(list open files)是⼀个列出当前系统打开文件的工具。

lsof -i:端口 :查看指定端口占用语法格式

lsof -i :查看端口占用语法格式

//lsof -i:端口 :查看指定端口占用语法格式
[root@centos-master ~]# lsof -i :22
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1097 root    5u  IPv4  22183      0t0  TCP *:ssh (LISTEN)
//lsof -i :查看端口占用语法格式
[root@centos-master ~]# lsof -i
COMMAND      PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
chronyd      825 chrony    6u  IPv4  18564      0t0  UDP VM-24-7-centos:323
chronyd      825 chrony    7u  IPv6  18565      0t0  UDP VM-24-7-centos:323
NetworkMa   1027   root   25u  IPv4  21550      0t0  UDP centos-master:bootpc->_gateway:bootps
sshd        1097   root    5u  IPv4  22183      0t0  TCP *:ssh (LISTEN)
kubelet     1102   root   16u  IPv4  29804      0t0  TCP VM-24-7-centos:46279 (LISTEN)
kubelet     1102   root   24u  IPv4 785131      0t0  TCP centos-master:42714->centos-master:sun-sr-https (SYN_SENT)
kubelet     1102   root   31u  IPv4 784930      0t0  TCP centos-master:42676->centos-master:sun-sr-https (SYN_SENT)
kubelet     1102   root   32u  IPv6  28518      0t0  TCP *:10250 (LISTEN)
kubelet     1102   root   33u  IPv4 784014      0t0  TCP centos-master:42652->centos-master:sun-sr-https (SYN_SENT)
kubelet     1102   root   36u  IPv4  29826      0t0  TCP VM-24-7-centos:10248 (LISTEN)
kubelet     1102   root   37u  IPv4 784153      0t0  TCP centos-master:42678->centos-master:sun-sr-https (SYN_SENT)
kubelet     1102   root   40u  IPv4 784267      0t0  TCP centos-master:42692->centos-master:sun-sr-https (SYN_SENT)
kubelet     1102   root   44u  IPv4 784318      0t0  TCP centos-master:42704->centos-master:sun-sr-https (SYN_SENT)
nginx       1134   root    8u  IPv4  23267      0t0  TCP *:http (LISTEN)
nginx       1135 nobody    8u  IPv4  23267      0t0  TCP *:http (LISTEN)
secu-tcs-   1178   root    9u  IPv4  52553      0t0  TCP centos-master:48034->180.97.118.234:nsesrvr (ESTABLISHED)
tat_agent   1270   root   17u  IPv4  36221      0t0  TCP centos-master:46896->169.254.0.138:d-s-n (ESTABLISHED)
kube-cont   2677   root    7u  IPv4  32361      0t0  TCP VM-24-7-centos:10257 (LISTEN)
kube-sche   2723   root    7u  IPv4  33194      0t0  TCP VM-24-7-centos:10259 (LISTEN)
kube-sche   2723   root    8u  IPv4 784162      0t0  TCP centos-master:42684->centos-master:sun-sr-https (SYN_SENT)
kube-sche   2723   root    9u  IPv4 785049      0t0  TCP centos-master:42688->centos-master:sun-sr-https (SYN_SENT)
kube-sche   2723   root   12u  IPv4 784018      0t0  TCP centos-master:42654->centos-master:sun-sr-https (SYN_SENT)
kube-sche   2723   root   13u  IPv4 784860      0t0  TCP centos-master:42662->centos-master:sun-sr-https (SYN_SENT)
kube-sche   2723   root   15u  IPv4 784079      0t0  TCP centos-master:42668->centos-master:sun-sr-https (SYN_SENT)
kube-sche   2723   root   16u  IPv4 785050      0t0  TCP centos-master:42690->centos-master:sun-sr-https (SYN_SENT)
sshd      105342   root    5u  IPv4 497451      0t0  TCP centos-master:ssh->117.22.142.84:5773 (ESTABLISHED)
sshd      105485   root    5u  IPv4 498538      0t0  TCP centos-master:ssh->117.22.142.84:5811 (ESTABLISHED)
sshd      105505     cl    5u  IPv4 497451      0t0  TCP centos-master:ssh->117.22.142.84:5773 (ESTABLISHED)
sshd      105589   wuya    5u  IPv4 498538      0t0  TCP centos-master:ssh->117.22.142.84:5811 (ESTABLISHED)
sshd      107032   root    5u  IPv4 509109      0t0  TCP centos-master:ssh->117.22.142.84:7146 (ESTABLISHED)
sshd      107140     xj    5u  IPv4 509109      0t0  TCP centos-master:ssh->117.22.142.84:7146 (ESTABLISHED)
sshd      108052   root    5u  IPv4 515110      0t0  TCP centos-master:ssh->117.22.142.84:asgenf (ESTABLISHED)
sshd      108084     zl    5u  IPv4 515110      0t0  TCP centos-master:ssh->117.22.142.84:asgenf (ESTABLISHED)
sshd      112664   root    5u  IPv4 549663      0t0  TCP centos-master:ssh->117.22.142.84:microtalon-dis (ESTABLISHED)
sshd      112741   root    5u  IPv4 549663      0t0  TCP centos-master:ssh->117.22.142.84:microtalon-dis (ESTABLISHED)
sshd      112963   root    5u  IPv4 598960      0t0  TCP centos-master:ssh->117.22.142.84:5242 (ESTABLISHED)
sshd      112996   root    5u  IPv4 598960      0t0  TCP centos-master:ssh->117.22.142.84:5242 (ESTABLISHED)
sshd      113020   root    5u  IPv4 590608      0t0  TCP centos-master:ssh->117.22.142.84:3com-njack-1 (ESTABLISHED)
sshd      113061   root    5u  IPv4 590608      0t0  TCP centos-master:ssh->117.22.142.84:3com-njack-1 (ESTABLISHED)
sshd      113134   root    5u  IPv4 604396      0t0  TCP centos-master:ssh->117.22.142.84:hacl-gs (ESTABLISHED)
sshd      113150   root    5u  IPv4 604396      0t0  TCP centos-master:ssh->117.22.142.84:hacl-gs (ESTABLISHED)
sshd      113241   root    5u  IPv4 604619      0t0  TCP centos-master:ssh->117.22.142.84:wsdapi-s (ESTABLISHED)
sshd      113249   root    5u  IPv4 604619      0t0  TCP centos-master:ssh->117.22.142.84:wsdapi-s (ESTABLISHED)
sshd      118773   root    5u  IPv4 657402      0t0  TCP centos-master:ssh->117.22.142.84:5570 (ESTABLISHED)
sshd      118790   root    5u  IPv4 657402      0t0  TCP centos-master:ssh->117.22.142.84:5570 (ESTABLISHED)
sshd      121460   root    5u  IPv4 679752      0t0  TCP centos-master:ssh->117.22.142.84:diameters (ESTABLISHED)
sshd      121499     xj    5u  IPv4 679752      0t0  TCP centos-master:ssh->117.22.142.84:diameters (ESTABLISHED)
sshd      121696   root    5u  IPv4 680585      0t0  TCP centos-master:ssh->117.22.142.84:lonewolf-lm (ESTABLISHED)
sshd      121774   root    5u  IPv4 680585      0t0  TCP centos-master:ssh->117.22.142.84:lonewolf-lm (ESTABLISHED)
sshd      123620   root    5u  IPv4 697800      0t0  TCP centos-master:ssh->223.104.204.44:13762 (ESTABLISHED)
sshd      123624   root    5u  IPv4 697800      0t0  TCP centos-master:ssh->223.104.204.44:13762 (ESTABLISHED)
sshd      124111   root    5u  IPv4 706890      0t0  TCP centos-master:ssh->117.22.142.84:5623 (ESTABLISHED)
sshd      124143   root    5u  IPv4 706890      0t0  TCP centos-master:ssh->117.22.142.84:5623 (ESTABLISHED)
sshd      126894   root    5u  IPv4 722190      0t0  TCP centos-master:ssh->117.22.142.84:5790 (ESTABLISHED)
sshd      126916   root    5u  IPv4 722190      0t0  TCP centos-master:ssh->117.22.142.84:5790 (ESTABLISHED)
sshd      127535   root    5u  IPv4 724597      0t0  TCP centos-master:ssh->117.22.142.84:6292 (ESTABLISHED)
sshd      127544   root    5u  IPv4 724597      0t0  TCP centos-master:ssh->117.22.142.84:6292 (ESTABLISHED)
sshd      128636   root    5u  IPv4 732561      0t0  TCP centos-master:ssh->117.22.142.84:5818 (ESTABLISHED)
sshd      128661   root    5u  IPv4 732561      0t0  TCP centos-master:ssh->117.22.142.84:5818 (ESTABLISHED)
sshd      134737   root    5u  IPv4 766220      0t0  TCP centos-master:ssh->117.22.142.84:6733 (ESTABLISHED)
sshd      134762   root    5u  IPv4 766220      0t0  TCP centos-master:ssh->117.22.142.84:6733 (ESTABLISHED)

2)netstat 

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况

netstat -tunlp | grep 端口号:查看指定端口占用语法格式(netstat 

netstat -tunlp :查看所有端口占用语法格式(netstat )

//netstat -tunlp | grep 端口号:查看端口占用语法格式(netstat )
[root@centos-master ~]# netstat -tunlp | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1097/sshd
    
//netstat -tunlp :查看所有端口占用语法格式(netstat )
[root@centos-master ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1097/sshd
tcp        0      0 127.0.0.1:46279         0.0.0.0:*               LISTEN      1102/kubelet
tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      1102/kubelet
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1134/nginx: master
tcp        0      0 127.0.0.1:10257         0.0.0.0:*               LISTEN      2677/kube-controlle
tcp        0      0 127.0.0.1:10259         0.0.0.0:*               LISTEN      2723/kube-scheduler
tcp6       0      0 :::10250                :::*                    LISTEN      1102/kubelet
udp        0      0 127.0.0.1:323           0.0.0.0:*                           825/chronyd
udp6       0      0 ::1:323                 :::*                                825/chronyd

其中,关于【netstat -tunlp 】中的【tunlp】分别代表的意思,如下所示:

-t :  (tcp) 仅显示tcp相关选项
-u :  (udp)仅显示udp相关选项
-n :  拒绝显示别名,能显示数字的全部转化为数字
-l :  仅列出在Listen(监听)的服务状态
-p :  显示建⽴相关链接的程序名

16、进程查看

1)ps 

ps命可以查看静态的进程统计信息,⼀般结合选项使用ps aux 或 ps -elf 命令, 建议使用 ps -elf 查询

ps -elf | grep 进程:查看静态的进程统计信息

ps -elf :查看更加详细的信息

//ps -elf | grep 进程:查看静态的进程统计信息
[root@centos-master ~]# ps -elf | grep nginx
1 S root        1134       1  0  80   0 - 10821 -      10:01 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
5 S nobody      1135    1134  0  80   0 - 19508 do_epo 10:01 ?        00:00:00 nginx: worker process
0 S root      161627  121782  0  80   0 -  3811 -      16:40 pts/15   00:00:00 grep --color=auto nginx
    
//ps -elf :查看更加详细的信息
[root@centos-master ~]# ps -elf
F S UID          PID    PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root           1       0  0  80   0 - 43476 do_epo 10:01 ?        00:00:08 /usr/lib/systemd/systemd --switched-root
1 S root           2       0  0  80   0 -     0 -      10:01 ?        00:00:00 [kthreadd]
1 I root           3       2  0  60 -20 -     0 -      10:01 ?        00:00:00 [rcu_gp]
1 I root           4       2  0  60 -20 -     0 -      10:01 ?        00:00:00 [rcu_par_gp]
1 I root           6       2  0  60 -20 -     0 -      10:01 ?        00:00:00 [kworker/0:0H-events_highpri]
1 I root           9       2  0  60 -20 -     0 -      10:01 ?        00:00:00 [mm_percpu_wq]
1 S root          10       2  0  80   0 -     0 -      10:01 ?        00:00:01 [ksoftirqd/0]
0 R root      162084  121782  0  80   0 - 15676 -      16:41 pts/15   00:00:00 ps -elf

以上输出信息中,第一行为列表标题,其中各字段的含义描述如下:

USER:启动该进程的⽤户账号名称;
PID:该进程在系统中的数字 ID 号,在当前系统中是唯⼀的;
%CPU:CPU占⽤的百分⽐;
%MEM:内存占⽤的百分⽐;
VSZ:占⽤虚拟内存(swap 空间)的⼤⼩;
RSS:占⽤常驻内存(物理内存)的⼤⼩;
TTY:表明该进程在哪个终端上运⾏。“ ?” 表示未知或不需要终端;
STAT:显示进程当前的状态,S(休眠)、R(运⾏)、Z(僵死)、<(⾼优先级)、N(低优先级)、s(⽗进程)、+(前台进程);
START:启动该进程的时间;
TIME:该进程占⽤的CPU时间;

17、vim编辑器

Vim是从 vi 发展出来的⼀个文本编辑器,拥有代码补完、编译及错误跳转等方便编程的功能。

vim详情

1、vi/vim 的使⽤
   基本上 vi/vim 共分为三种模式,分别是:
   命令模式(Command mode),输⼊模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作⽤分别是:
   1)命令模式:
      用户刚刚启动 vi/vim,便进⼊了命令模式。
      此状态下敲击键盘动作会被Vim识别为命令,⽽⾮输⼊字符。⽐如我们此时按下i,并不会输⼊⼀个字符,i被当作了⼀个命令。
2、常用的几个命令:
  i   切换到输⼊模式,以输⼊字符。
  x   删除当前光标所在处的字符。
  :   切换到底线命令模式,以在最底一行输⼊命令。
3、在vim下编辑文本
   若想要编辑⽂本:启动Vim,进⼊了命令模式,命令模式只有⼀些最基本的命令,因此仍要依靠底线命令模式输⼊更多命令,故按下i,切换到输⼊模式。
   在输入模式里可以使用以下按键:
   1)字符按键以及Shift组合 :输⼊字符
   2)ENTER,回⻋键 :换⾏
   3)BACK SPACE,退格键 :删除光标前⼀个字符
   4)DEL,删除键 :删除光标后⼀个字符
   5)方向键 :在文本中移动光标
   6)HOME/END :移动光标到⾏⾸/⾏尾
   7)Page Up/Page Down :上/下翻⻚
   8)Insert :切换光标为输⼊/替换模式,光标将变成竖线/下划线
   9)ESC :退出输⼊模式,切换到命令模式
   当编辑完成后,点击 ESC ,切换到命令模式,在命令模式下按下:(英⽂冒号)就进⼊了底线命令模式。
   在底线命令模式里可以输⼊单个或多个字符的命令,可⽤的命令⾮常多,
   底线命令模式可以输⼊单个或多个字符的命令,可⽤的命令⾮常多。基本的命令有(已经省略了冒号):
   1)q 退出程序
   2)w 保存⽂件
   3)按ESC键可随时退出底线命令模式

18、文件查找

1)find

find是最常⻅和最强⼤的查找命令,你可以⽤它找到任何你想找的⽂件。

使用格式 :find <指定动作> <指定⽬录> <指定条件> 

//查找名称里有nginx的位置
[root@centos-master ~]# find / -name nginx
/usr/local/nginx
/usr/local/nginx/sbin/nginx
    
//查找是所有名称里有nginx的位置
[root@centos-master ~]# find / -name nginx*
/sys/fs/cgroup/blkio/system.slice/nginx.service
/sys/fs/cgroup/pids/system.slice/nginx.service
/sys/fs/cgroup/cpu,cpuacct/system.slice/nginx.service
/sys/fs/cgroup/memory/system.slice/nginx.service
/sys/fs/cgroup/devices/system.slice/nginx.service
/sys/fs/cgroup/systemd/system.slice/nginx.service
/etc/systemd/system/multi-user.target.wants/nginx.service
/usr/local/nginx
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx.old
/usr/local/nginx/logs/nginx.pid
/usr/local/nginx/conf/nginx.conf.default
/usr/local/nginx/conf/nginx.conf.bak
/usr/local/nginx/conf/nginx.conf
/usr/lib/python3.6/site-packages/sos/report/plugins/nginx.py
/usr/lib/python3.6/site-packages/sos/report/plugins/__pycache__/nginx.cpython-36.pyc
/usr/lib/python3.6/site-packages/sos/report/plugins/__pycache__/nginx.cpython-36.opt-1.pyc
/usr/lib/systemd/system/nginx.service
    
//表示⼀个字符
[root@centos-master ~]# find / -name ngin?
/usr/local/nginx
/usr/local/nginx/sbin/nginx
    
//在根⽬录下查找⼤于 100000M 的⽂件 
[root@centos-master ~]# find / -size +404800
/root/mq/otp_src_23.0.tar.gz
/proc/kcore
find: ‘/proc/177079/task/177079/fd/6’: No such file or directory
find: ‘/proc/177079/task/177079/fdinfo/6’: No such file or directory
find: ‘/proc/177079/fd/5’: No such file or directory
find: ‘/proc/177079/fdinfo/5’: No such file or directory

2)Whereis

whereis命令只能⽤于程序名的搜索,⽽且只搜索⼆进制⽂件(参数-b)、man说明⽂件(参数-m)和源代码⽂件(参数-s)。

[root@centos-master ~]# whereis nginx
nginx: /usr/local/nginx

3)which

which命令的作⽤是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第⼀个搜索结果。

[root@centos-master ~]# which aaa.sh
./aaa.sh

19、输出命令

1)echo

Shell 的 echo 指令,⽤于字符串的输出

[root@centos-master ~]# echo "今年考研太卷了"
今年考研太卷了

2)printf

printf 的脚本⽐使⽤ echo 移植性好。

printf 使⽤引⽤⽂本或空格分隔的参数,外⾯可以在 printf 中使⽤格式化字符串,还可以制定字符串的宽度、左右对⻬⽅式等。默认 printf 不会像 echo ⾃动添加换⾏符,我们可以⼿动添加\n。

[root@centos-master ~]# printf "你说这个帅不帅 \n"
你说这个帅不帅
[root@centos-master ~]# printf "我的名字是:%s,我的年龄是:%d,我的职位是:%s" 无根 20 学生
我的名字是:无根,我的年龄是:20,我的职位是:学生

创建 .sh 文件时,%符号代表:

\n:换行
\t:空格
%s:字符串
%d:整型数字
%f:带小数点的数字

20、文件传输

不同的linux终端之间的文件传输。

scp 文件名 账户名@101.43.158.84:/传到哪个目录下

21、文件压缩

1)zip

zip中,压缩和解压后源文件还会被保留,可以把多个文件压缩到一个压缩包中

zip可以压缩文件夹。

zip 压缩后压缩包的名称.zip 需要压缩的文件名:文件压缩到压缩包

2)gz

gz中,压缩和解压后源文件不会被保留,只能把多个文件分别进行压缩。gzip不能压缩文件夹。

gzip 要压缩的文件名:压缩文件

3)tar

(1)压缩命令:tar -选项 压缩后的文件名.tar 需要压缩的文件

".tar" 格式的打包和解打包都使用 tar 命令,区别只是选项不同。

其中,".tar" 格式打包命令选项

-c:打包

-f:指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名。

-v:显示打包文件过程

(2)tar -选项 压缩包名称

其中,tar 解压命令选项

-x:解打包

-f:指定压缩包的文件名

-v:显示解打包文件过程

4)tar.gz

(1)压缩

命令:tar -j选项 压缩后的文件名.tar.gz 需要压缩的文件

其中,".tar" 格式打包命令选项

-c:打包

-f:指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名。

-v:显示打包文件过程

(2)解压

tar -j选项 压缩包名称

tar -zxvf 压缩包名称

其中,tar 解压命令选项

-x:解打包

-f:指定压缩包的文件名

-v:显示解打包文件过程

22、用户管理

1)用户创建

useradd 用户名:创建用户使用的命令

2)用户删除

userdel 用户名:删除⽤户使用的命令

3)设置密码

passwd 用户名:设置命令使用的命令

4)切换用户

su - 用户名(-和用户名之间需要有空格)

posted @ 2022-02-21 18:27  无耿  阅读(202)  评论(0编辑  收藏  举报