• 软件测试 - Linux的常用命令


    目录

    一.Linux终端命令

    1.为什么要学习终端命令

    Linux起初没图形化界面,所有操作(磁盘操作,文件存取,目录操作,进程管理,文件管理)都要靠命令。
    服务器维护工作需要在安装ssh客户端来远程维护,ssh客户端并没有图形界面,都需要命令完成。

    2.终端命令的格式

    command [-options] [parameter]
    命令名 [-命令选项:对命令进行额外控制] [命令参数:命令的操作对象,可以是文件,目录,用户、进程等],中括号代表可选

    3.查阅命令及常用选项的帮助信息

    命令名 --help:显示帮助信息
    man 命令名:显示使用手册(manual)

    manual的操作键功能
    空格显示手册下一页
    Enter键一次滚动手册页的一行
    b回滚一屏
    f前滚一屏
    q退出
    /word搜索word字符串
    4.Linux常用终端命令简介

    Linux常用终端命令

    命令作用
    lslist,查看当前文件夹下的内容
    pwdprint work directory,查看当前所在的文件夹
    cd [目录名]change directory,切换文件夹
    touch [文件名]如果文件不存在,创建文件
    mkdir [目录名]make directory,创建目录
    rm [文件名]remove,删除指定的文件名
    rm -r [目录名]删除指定的目录
    clear清屏
    tree[目录名]以树状图列出文件目录结构
    cp 源文件 目标文件copy复制文件/目录
    mv 源文件 目标文件move移动或重命名文件/目录
    cat 文件名concatenate查看文件内容、创建文件、文件合并、追加文件内容
    more 文件名分屏显示文件内容
    grep 要搜索内容搜索文本文件内容
    shutdown 选项 时间关机/重启
    ifconfig查看配置网卡信息
    ping ip地址检测目标IP地址的连接是否正常
    ssh -p(小写) 端口号 user@ip/域名/别名远程登录
    scp -P 端口号 源文件 user@ip/域名/别名:远程目录/目标文件名远程复制文件
    chmod +/-rwx 文件/目录对文件/目录 增加/删除 可读可写可执行的权限
    sudo以root用户执行命令
    groupadd 组名添加组
    groupdel 组名删除组
    cat/etc/group确认组信息
    chgrp 组名 文件/目录名修改文件/目录的所属组
    sudo groupadd 组名添加组
    sudo groupdel 组名删除组
    cat /etc/group确认组信息
    sudo chgrp -R 组名 被修改的文件/目录名修改文件/目录的所属组,-R是递归修改子目录和文件的权限
    sudo useradd -m -g 组名 新建用户名添加新用户
    sudo passwd 用户名设置用户密码,普通用户可以直接修改自己账户密码
    sudo userdel -r 用户名删除用户
    id [用户名]查看用户UID(用户代号)和GID(组代号)
    who查看当前所有登录的用户列表(包括当前系统登录和远程登录)
    whoami查看当前登录用户的账户名
    sudo usermod -G 组 用户名修改用户附加组(etc/group中的)
    which 所要查的命令查看命令所在位置
    su - 用户名切换用户,并且切换目录(切换到当前用户的家目录)
    sudo chown 用户名 文件名/目录名修改拥有者
    5.Linux常用终端命令扩展
    ①.ls命令
    ls常用选项含义
    -a显示指定目录所有目录与文件,包括隐藏文件
    -l以列表的形式显示文件的详细信息
    -h配合-l人性化显示文件大小(以K为单位)ls -lh ,ls -lha

    drwxr-xr-x 2 wenmiao wenmiao 4.0K 10月 13 2020 公共的

    -ls详细信息含义
    d权限,第一个字母若是d代表目录,如果是-代表文件
    rwx r-x r-x分别代表文件/目录的拥有者权限文件/目录组权限其他用户权限,r代表可读,w代表可写,x代表可执行,-代表没有该权限
    2硬链接数(有多少种方式能访问到当前的目录/文件)
    wenmiao文件/目录拥有者的名称
    wenmiao文件/目录组用户的名称
    4096K占用磁盘空间
    10月13 2020创建时间
    公共的目录/文件名称

    在这里插入图片描述

    硬链接数,一般文件的硬链接数是1,目录有多少个硬链接数取决于它有多少个子目录(子目录数+2)

    请添加图片描述

    ls通配符含义
    *代表任意个字符(包括0个)(例1*.txt可以匹配1.txt,12.txt,123.txt)
    代表1个字符(例1?.txt只能匹配11.txt,12.txt,13.txt)
    [abc]可以匹配字符组中的任意一个(例如[1245]23.txt可匹配123.txt,223.txt,423.txt,523.txt)
    [a-f]匹配从a到f范围内的任意一个字符(例如[1-4]23.txt可以匹配123.txt,223.txt,323.txt,423.txt)
    ②.cd命令
    cd命令含义
    cd切换到当前用户目录(/home/用户目录)
    cd ~切换到当前用户目录(/home/用户目录)(~代表的是当前用户家目录,admin用户代表/home/admin,管理员用户代表/root)
    cd .保持当前目录不变
    cd ..切换到上级目录
    cd -进入到上一次所在目录(特殊用法,两个路径来回调)
    ③.touch命令

    用来修改文件时间
    如果文件不存在,会创建一个空白文件并修改文件时间
    如果文件已经存在,修改文件的末次修改日期

    ④.mkdir命令

    创建一个新目录

    mkdir选项含义
    -p递归创建目录 mkdir -p a/b/c
    ⑤.rm命令

    rm删除之后不能恢复,不能像windows图形化界面一样把文件放到回收站
    所以千万不要在根目录里面删除系统文件和目录,都在家目录里面玩耍
    删除目录要加-r,删除文件可以不加

    rm选项含义
    -f强制删除,忽略不存在的文件的提示信息,有则删除
    -r递归删除目录下的所有内容,删除文件夹时必须加此参数
    rm通配符含义
    rm *2.txt删除以2.txt结尾的所有文件
    rm -r *删除当前目录所有的文件和目录
    6.Linux拷贝和移动命令扩展
    ①.tree命令

    以树状图列出文件目录结构
    下载tree命令:sudo apt install tree # version 1.8.0-1

    tree命令含义
    tree从当前工作目录[.]开始显示树形图
    tree[目录名]从指定工作目录开始显示树形图
    tree ~~代表家目录,代表从家目录开始显示树形图
    tree选项含义
    -d只显示目录,不显示文件
    ②.cp命令

    将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令

    rm删除目录需要加一个-r,cp复制目录需要加一个-r

    cp命令含义
    cp 源文件 目标目录复制文件或目录到目标文件
    cp 124.txt /home/wen/123复制124.txt到/home/wen/123目录下
    cp 1.txt /home/we/1.txt复制1.txt到/home/we/1.txt文件中,不存在1.txt文件则复制,存在则无法创建
    cp 2.txt /home/we/1.txt复制2.txt到/home/we/1.txt文件中,修改文件名
    cp -r 123 /home/wen/a复制123目录下的所有子目录和文件到/home/wen/a目录下
    cp选项含义
    -i覆盖文件前提示,输入n表示不覆盖,输入y表示覆盖
    -r源文件是目录,将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
    -f覆盖已存在的目标文件而不给出提示
    -v显示拷贝进度
    ③.mv命令
    mv命令选项含义
    mv 源文件 目标文件移动文件/目录,也可给文件/目录重命名
    mv ./a/b/a.txt . 将a.txt文件从./a/b目录下复制到.(d当前目录下)
    mv ./a/b/c ./a/b/d把整个c目录移动到d目录下(区别cp命令,目录也无须加-r)
    mv a.txt b.txt如果是同一个目录下,就不是复制,而是重命名,将a.txt重命名为b.txt
    mv -i b.txt readme.txt如果覆盖会提示,n表示不覆盖,y表示覆盖
    -i覆盖文件前提示
    7.Linux文件内容命令扩展
    ①.cat命令
    cat命令含义
    cat a.txt一次全部显示文本内容,适合查看内容较少时使用
    cat选项含义
    -b对非空输出行编号
    -n对输出的所有行编号(忽略空行)
    ②.more命令
    more命令含义
    more a.txt分屏显示文本内容,适合查看内容较多时使用
    more操作键(与mannal命令类似)含义
    空格显示手册下一页
    Enter键一次滚动手册页的一行
    b回滚一屏
    f前滚一屏
    q退出
    /word搜索word字符串
    ③.grep命令
    grep命令含义
    grep sand readme.txt查找readme.txt文件中有sand字符串的行
    grep -n sand readme.txt查找sand字符串的行并显示行号
    grep -v sand readme.txt查找没有sand字符串的行
    grep -vn sand readme.txt查找没有sand字符串的行并显示行号
    grep -ni sand readme.txt查找sand字符串(忽略大小写)的行并显示行号
    grep -n “Hello SAND” readme.txt如果要查找的字符串中间有空格,需要用引号
    grep ^and readme.txt查找以and开头的所有行
    grep and$ readme.txt查找以and结尾的所有行
    grep选项含义
    -n显示匹配行及行号
    -v显示没有匹配文本的所有行(求反)
    -i忽略大小写

    grep允许对文本进行模式查找(正则表达式)

    grep参数含义
    ^a行首,查找以a开头的行
    ke$行尾,查找以ke结尾的行
    8.Linux其他命令扩展
    ①.echo文字内容

    touch创建文件需要先创建,再编辑内容
    touch b
    echo创建文件可以直接创建并写入内容
    echo python >> cc

    echo命令含义
    echo hello python将hello python输出到终端
    ②.重定向>和>>

    linux允许将命令执行结果重定向到一个文件(即将本应该显示在终端上的内容输出/追加到指定文件中)

    重定向符号含义

    |表示输出,会覆盖文件原有内容

    |表示追加,会将内容追加到已有文件末尾

    重定向命令含义
    echo hello p > redirect若redirect文件不存在,则创建一个,并将hello p写入redirect文件中;若存在则直接覆盖
    ls -lh >redirect将ls -lh查出的内容写入或覆盖到redirect文件中
    echo hello p2 >> redirect若redirect不存在,则创建一个并写入,若存在则将hello p2直接追加到redirect文件中
    tree >> redirect将tree查出的树形图追加到redirect文件中
    ③.管道|

    linux允许将一个命令的输出通过管道做为另一个命令的输入
    左端写,右端读

    常用管道命令含义
    more分屏显示内容
    grep在命令执行结果基础上查询指定的文本

    ls -lha ~ | more:查出家目录的包括隐藏文件的所有文件目录信息,通过管道传给more命令,让其分屏显示
    ls -lha ~ | grep -n test:同上,通过管道传给grep命令,让其查出有test字符的行及行号(过滤执行结果)

    9.Linux远程管理常用命令扩展
    ①.shutdown命令
    shutdown命令含义
    shutdown不指定选项和参数,默认表示1分钟后关机
    shutdown -c如果不想1分钟后关机,在1分钟之内输入这个命令可以取消关机
    shutdown -r now时间为now,加了-r选项,表示现在关机
    shutdown 20:25系统在今天20:25关机
    shutdown +10系统在10分钟后关机

    远程维护服务器时最好不要关闭系统,而应该重新启动系统

    shutdown选项含义
    -r重新启动(不加是直接关机,加了是重新启动)
    ②.ifconfig命令
    网卡和IP地址

    网卡是一个专门负责两台电脑网络通讯的硬件设备(有限网卡,无线网卡WIFI)
    IP地址是设置在网卡上的地址信息,地址信息唯一标识一个网卡
    电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码
    IP地址是唯一的,否则会出现冲突,无法正常通讯,不同的系统(Windows,linux,macOS在同一台电脑上虚拟机上的IP地址也不同,但相似)

    下载ifconfig命令:sudo apt install net-tools

    ipconfig命令含义
    ipconfig查看或配置网卡信息
    ipconfig `` grep inet

    在这里插入图片描述

    一台计算机可能会有一个物理网卡和多个虚拟网卡,在linux中物理网卡的名字通常以ensXX表示
    127.0.0.1被称为本地回环/环回地址,一般来测试本机网卡是否正常

    ③.ping命令
    ping命令含义
    ping IP地址检测目标主机是否连接正常,ctrl+c结束发包
    ping 127.0.0.1检测本地网卡工作是否正常,ctrl+c结束发包

    linux中,想要终止一个终端程序,绝大多数都使用ctrl+c
    如果ping的IP地址不在局域网中,会显示错误信息:Destination Host Unreachable,目标主机不能到达

    请添加图片描述

    ④.ssh命令
    什么是SSH

    通过SSH客户端可以连接到运行了SSH服务器的远程机器上
    在自己的服务器上安装一个SSH服务器软件,在自己电脑上安装一个SSH客户端软件
    在linux和macOS系统SSH客户端都是自带的,在windows系统需要自己安装SSH客户端

    为什么要使用SSH

    SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序
    SSH是目前较可靠,专门为远程登录会话和其他网络服务提供安全性协议

    ssh协议的作用含义
    对传输的数据进行加密防止信息泄露,防止DNS欺骗和IP欺骗
    对数据进行压缩提高传输速度
    域名和端口号

    域名:一串用点分隔的名字组成,例如www.itcast.cn
    域名是IP地址的别名,方便用户记忆(可以通过域名或IP地址在网络上找到一台计算机)

    IP地址:通过IP地址找到网络上的计算机
    端口号:通过端口号可以找到计算机上运行的应用程序
    SSH服务器默认的端口号是22,如果默认端口号,在连接的时候,可以省略

    ping www.baidu.com(域名)可以得到百度的IP地址(39.156.66.14)
    输入39.156.66.14可以打开百度首页,输入39.156.66.14:80也可以打开百度首页
    通过域名:端口号来访问一台电脑上的某一个应用

    服务端口号
    SSH服务器22
    Web服务器80
    HTTPS443
    FTP服务器21
    SSH客户端的使用

    ssh [-p port] user@remote
    使用exit退出当前用户的登录
    ssh终端命令只能在linux或unix系统下使用,如果在windows系统中,需要安装PuTTYXshell客户端软件

    ssh参数含义
    user远程机器上的用户名,若不指定默认为当前用户
    remote远程机器的地址,可以是IP/域名/别名
    portSSH Server监听的端口,如果不指定,默认值22
    macOS和linux系统使用ssh
    ssh命令含义
    ssh -p22 w@192.168.106.128远程登录IP地址为192.168.106.128的电脑,用户名为w,端口号为22的服务

    登录后可以对这台电脑进行操作,比如
    建文件:touch 1.txt
    强制重启:sudo shutdown -r now

    Windows系统之PuTTY使用ssh

    下载网址:PuTTY
    安装后,需要输入想要访问电脑的IP地址,如果出现 connection refused错误,说明虚拟机没有安装ssh-server
    安装ssh-server:sudo apt-get install openssh-server

    在这里插入图片描述
    在这里插入图片描述

    Windows系统之Xshell使用ssh

    下载网址:Xshell
    使用方法

    SSH高级

    有关ssh配置信息都保存在用户家目录下的.ssh目录下(.ssh是一个隐藏目录)
    Ubuntu作为客户端,macOS作为服务器,连接macOS

    免密码登录视频
    完成以下两个操作,设置免密登录后,无论是ssh登录命令或者scp复制命令都不需要输入密码了

    免密登录的原理:
    ①.配置公钥ssh-keygen,生成id_rsa.pub(公钥),id_rsa(私钥)两个文件,即可生成SSH钥匙
    ②.上传公钥到服务器ssh-copy-id -p port user@remote,将公钥文件复制到远程服务器,让远程服务器记住公钥,现在公钥在远程服务器,私钥在本地
    SSH客户端发送数据使用私钥加密,SSH服务器接收后使用公钥解密
    SSH服务器发送数据使用公钥加密,SSH客户端接收后使用私钥解密
    ③.因为数据都是加密的,就不需要再输入密码登录了

    非对称加密:公钥加密的数据,需要用私钥解密;私钥加密的数据,需要用公钥解密
    请添加图片描述

    配置别名

    ①. touch config:在~/.ssh/目录下创建一个config文件
    ②.将下面配置信息粘贴到config文件中
    Host 别名
    	HostName Ip地址
    	User user
    	Port 22
    ③.登录远程服务器时,只需要使用ssh 别名,即可登录,不需要再输入ssh -p 22 user@remote了
    ④.复制文件时,使用scp -r ~/Desktop myhost:Desktop/demo即可
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    请添加图片描述

    ⑤.scp命令

    scp终端命令只能在linux或unix系统下使用,macOS也可以(因为macOS是基于unix系统开发的)
    如果在windows系统,需要安装PuTTY,使用pscp命令行根据或者安装FIleZilla使用FTP进行文件传输

    scp命令含义
    scp -P port 源文件 user@remote:远程目录/目标文件名远程拷贝文件(secure copy)
    scp -P port 01.py user@remote:Desktop/02.py把本地当前目录下的01.py文件复制到远程家目录下的Desktop/02.py中
    scp -P port user@remote:Desktop/01.py 02.py把远程家目录下的Desktop/01.py文件复制到本地当前目录下的02.py中
    scp -r demo user@remote:Desktop把当前目录下的demo目录复制到远程家目录下的Desktop下
    scp -r user@remote:Desktop demo把远程家目录下的Desktop目录复制到当前目录下的demo下
    scp选项含义
    -r若源文件是目录,夹-r选项将递归复制该目录下的所有子目录和文件
    -p若远程SSH服务器的端口号不是22,需要用大写字母-P指定端口

    注::后面的路径是相对路径,是相对于用户的家目录作为参照路径
    注:与ssh命令区别
    ssh使用的是小写p,scp命令使用的是大写的P
    ssh是单向的,只能SSH客户端操作SSH服务器
    scp是双向的,可以SSH客户端复制到SSH服务器,也可以SSH服务器复制到SSH客户端

    macOS系统复制:scp命令
    scp命令含义
    scp -P 22 wen@192.168.106.128:Desk/01.py .远程家目录Desk/01.py文件复制到本地当前目录下的中
    scp -P 22 01.py wen@192.168.106.128:Desk本地当前目录下的01.py文件复制到远程家目录Desk/中
    scp -r demo wen@192.168.106.128:Desk当前目录下的demo目录复制到远程家目录下的Desk下
    scp -r wen@192.168.106.128:Desk demo远程家目录下的Desk目录复制到当前目录下的demo下
    windows系统复制:FTP文件传输

    下载路径:FileZilla
    FileZilla传输文件时使用的是FTP服务,而不是SSH服务,因此端口号是21

    filezilla无法连接到服务器

    打开filezilla—左上角文件下的站点管理器—新站点—输入主机,用户和密码,不需要输入端口号–连接即可
    可以看到本地站点和远程站点,将需要的文件直接拖到对方的文件所在区即可完成复制

    请添加图片描述

    10.Linux用户权限命令扩展

    用户管理包括用户管理组管理
    本机或远程登录系统都必须有一个账号(用户)
    并且不同用户对于不同系统资源(文件/目录)拥有不同的使用权限

    组是为了方便用户管理,将具有相同权限的用户放在同一个组中
    先设置组,对组设置好权限,再将不同的权限的用户添加到对应的有相应权限的组中

    文件/目录的权限缩写/数字代号
    可读(read)r/4
    可写(write)w/2
    可执行(excute)x/1
    ①.修改权限命令chmod
    chmod命令含义
    chmod +/-rwx 文件名/目录名修改用户/组对文件/目录的权限
    chmod +rw 01.py给01.py文件增加可读可写的权限
    chmod -rw 01.py给01.py文件删除可读可写的权限
    chmod +x 01.py添加可执行权限
    chmod -x test(目录)删除test目录的可执行权限

    拥有可执行权限的文件ls命令下会变绿,使用./01.py执行01.py文件
    以下是01.py文件的内容

    #!/usr/bin/python3
    print("Hello World")
    print("这是美好的一天")
    
    • 1
    • 2
    • 3

    在linux中,要想针对目录下执行终端命令,就必须给该目录增加可执行的权限,否则会提示权限不够

    目录没有的权限什么命令执行不了
    删除目录可执行权限cd test就无法进入test目录,ls test也无法查看test目录内容,touch 01.py无法执行
    删除目录可读权限ls test无法执行
    删除目录可写权限touch 01.py无法执行
    ②.sudo命令
    超级用户root

    root用户用于系统的维护和管理(不用于日常使用),对操作系统的所有资源具有所有访问权限
    不推荐直接用root账号登录系统,linux安装过程中会提示创建一个用户账号,这个默认用户被称为标准用户

    su(substitute user),表示使用另一个用户身份
    日常使用标准用户,标准用户想维护管理系统时,加一个sudo,表示以其他身份(预设身份是root)执行命令

    用户使用sudo需要输入密码,之后有5分钟的有效期限,超过期限需要重新输入密码
    若未经授权的用户企图使用sudo,会发出警告邮件给管理员root用户

    11.Linux组管理权限命令扩展

    提示:创建组/删除组/修改组的终端命令都需要通过sudo执行
    如果不加sudo会报错,没有权限,/etc是存放系统配置信息的目录,/etc/group存放组用户的配置信息

    请添加图片描述

    命令含义
    sudo groupadd 组名添加组
    sudo groupdel 组名删除组
    cat /etc/group确认组信息
    sudo chgrp -R 组名 被修改的文件/目录名修改文件/目录的所属组,-R是递归修改子目录和文件的权限

    预先针对组设置权限,后将不同用户添加到对应组中,就不用依次为每个用户设置权限

    #1.在python用户桌面目录下创建python学习目录
    wenmiao@ubuntu:~/桌面$ mkdir python学习
    #2.新建dev组
    wenmiao@ubuntu:~/桌面$ sudo groupadd dev
    #3.将python学习目录的组修改为dev
    wenmiao@ubuntu:~/桌面$ sudo chgrp -R dev python学习
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    12.Linux用户管理权限命令扩展
    ①.创建用户useradd/passwd

    提示:创建用户/删除用户/修改用户的终端命令都需要通过sudo执行

    命令含义
    sudo useradd -m -g 组名 新建用户名添加新用户
    sudo passwd 用户名设置用户密码,普通用户可以直接修改自己账户密码

    使用默认的useradd添加用户后是没有sudo权限的,可以使用usermod将用户添加到sudo附加组中(见下面)

    选项含义
    -m自动建立用户家目录,如果不使用-m选项就不会创建用户的家目录/home/zhangsan
    -g指定用户所在组,否则会建立一个与用户名同名的组(这是为何平时ls -lh后看到的用户和组的名字相同)
    在这里插入图片描述
    ②.删除用户userdel
    命令含义
    sudo userdel -r 用户名删除用户
    选项含义
    -r自动删除用户的家目录

    如果创建用户时忘记加上-m选项,最简单的方法是使用userdel -r将用户删除,重新创建
    用户信息保存在/etc/passwd文件中

    ③.查看用户id/who/whoami
    命令含义
    id [用户名]查看用户UID(用户代号)和GID(组代号)
    who查看当前所有登录的用户列表(包括当前系统登录和远程登录)
    whoami查看当前登录用户的账户名

    请添加图片描述

    在这里插入图片描述

    ④.usermod命令

    用来设置用户的主组附加组和登录shell

    命令含义
    sudo usermod -g 组 用户名修改用户主组(etc/passwd中的GID)
    sudo usermod -G 组 用户名修改用户附加组(etc/group中的)
    sudo usermod -s /bin/bash 用户名修改用户登录Shell(一个软件,在Ubuntu中使用ctrl+alt+T打开)

    请添加图片描述

    Ubuntu默认使用的Shell叫dash(软件,效率高,但显示不美观),而wenmiao用户使用的Shell叫bash
    使用 cat /etc/passwd查看,dash的结尾是/bin/sh,而bash的结尾是/bin/bash

    请添加图片描述

    ⑤.查看命令所在位置which

    /etc/passwd:保存用户信息的文本文件(不能执行)
    /usr/bin/passwd:用于修改用户密码的程序(可执行)

    命令含义
    which 所要查的命令查看命令所在位置
    which passwdpswwd命令的位置存放在/usr/bin/passwd
    bin和sbin

    linux中,大多数可执行文件都存放在/bin、/sbin、/usr/bin、/usr/sbin

    命令含义
    /bin普通的二进制可执行文件目录,主要用于具体应用(binary)
    /sbin系统管理员专用,主要用于系统管理的二进制可执行文件目录(system binary)
    /usr/bin后期安装普通的一些软件(user commands for applications )
    /usr/sbin后期安装系统管理相关,超级用户的一些管理程序(super user commands for applications)
    ⑥.切换用户命令su
    命令含义
    su 用户名切换用户,但不切换当前目录,任然是在原用户的家目录中
    su - 用户名切换用户,并且切换目录(切换到当前用户的家目录)
    su -切换到root目录,不安全,不推荐使用,但在切换到root目录后不需要使用sudo了

    使用exit退出,一直到退出shell

    请添加图片描述

    ⑦.修改文件权限chown/chgrp/chmod
    命令含义
    sudo chown 用户名 文件名/目录名修改拥有者
    sudo chgrp -R 组名 文件名/目录名递归的修改所有目录和子目录的组
    sudo chmod -R 755 文件名/目录名递归的修改所有目录和子目录的权限

    755,第一个7表示文件/目录所有者权限,第二个7表示所在组权限,第三个5表示其他用户权限
    r表示4,w表示2,x表示1,如果不设置就是0,如果rwx(可读可写可执行权限都有,则数字就是4+2+1=7)

    权限数字
    rwx7(4+2+1)
    rw-6(4+2+0)
    r-x5(4+0+1)
    r–4(4+0+0)
    -wx3(0+2+1)
    -w-2(0+2+0)
    –x1(0+0+1)
    0(0+0+0)
    常见数字组合含义(u用户、g组、o其他)
    777u=rwx,g=rwx,o=rwx
    755u=rwx,g=r-x,o=r-x
    644u=rw-,g=r–,o=r–
    13.系统信息相关命令扩展

    当远程维护服务器时,方便查看服务器上当前的系统日期和时间/磁盘空间占用情况/程序执行情况

    ①.时间和日期命令date/cal
    命令含义
    date查看系统时间
    cal查看本月日历(calender)
    cal -y-y选项可以查看一年的日历
    ②.查看磁盘信息df/du
    命令含义
    df -h显示磁盘剩余空间(disk free)
    du -h[目录名]显示目录下文件大小(disk usage)
    du -h不加目录就显示当前目录的文件大小
    选项含义
    -h以人性化的方式显示文件大小

    请添加图片描述
    请添加图片描述

    ③.进程信息命令ps/top/kill

    进程:当前正在执行的一个程序
    在电脑上安装的QQ不能说是进程,只有被打开后才能叫做进程

    命令含义
    ps aux查看进程的详细状况(process status)
    top动态显示运行中进程并且排序(查看CPU和内存占用率最高的进程),退出top命令输入q
    kill [-9] PID进程代号终止指定代号的进程,-9表示强制终止

    ps命令:若不加选项,只显示当前用户通过终端启动的应用程序
    kill命令:最好终止由当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃

    选项含义
    a显示终端上所有进程,包括其他用户的进程
    u显示进程的详细信息
    x显示没有控制终端的进程(不是通过终端启动的进程)
    请添加图片描述
    14.Linux其他命令扩展
    ①.查找文件命令find
    find命令含义
    find [路径] -name “*.py”查找指定路径下扩展名为.py的文件,包括指定目录的子目录

    如果省略路径,表示在当前文件夹下查找
    使用find命令,可以使用通配符*、?、[abc]、[a-f]

    find例子含义
    find -name “*1*搜索桌面目录文件名包含1的文件
    find -name “*.txt搜索桌面目录下,所有以.txt为扩展名的文件
    find -name “1*”搜索桌面目录下,以数字1开头的文件
    ②.文件软硬链接示意图

    在linux中,文件名文件的数据是分开存储的
    请添加图片描述

    ②.建立文件软链接ln

    软链接相当于windows中的快捷方式,可以快速的打开软链接指向的文件
    为什么要使用软链接(快捷方式):因为文件目录结构比较深(像/home/wenmiao/桌面/demo/b/c/01.py)

    ln命令含义
    ln -s 被链接的源文件 链接文件建立文件软链接

    创建后的两个文件占用相同大小的硬盘空间
    源文件要使用绝对路径,不能使用相对路径,方便移动链接文件后,仍能够正常使用

    软链接演练含义
    mkdir -p demo/b/c在桌面目录下创建demo/b/c目录
    mv 01.py demo/b/c将桌面目录下的01.py移动到demo/b/c目录下
    ln -s /home/wenmiao/桌面/demo/b/c/01.py FirstPython使用相对路径在桌面目录下新建01.py的软链接FirstPython
    ln -s ./demo/b/c/01.py FirstPython2使用绝对路径在桌面目录下新建01.py的软链接FirstPython2
    mv FirstPython ./demo将FirstPython移动到demo目录下
    mv FirstPython2 ./demo将FirstPython2移动到demo目录下
    mv First* ./demo可以将上面两个命令替换掉

    相对路径和绝对路径创建的软链接第一次创建时都可以正常使用,但移动后相对路径的无法使用
    对比使用相对路径和绝对路径的区别
    使用相对路径创建的软链接移动后链接断开,不能打开了
    使用绝对路径创建的软链接移动后链接链接,还可以打开

    ③.建立文件硬链接ln

    硬链接就是有多少种方式可以访问文件或目录
    硬链接数,一般文件的硬链接数是1,目录有多少个硬链接数取决于它有多少个子目录(子目录数+2)

    ln命令含义
    ln 被链接的源文件 链接文件建立硬链接文件
    硬链接演练含义
    在哪个目录建立硬链接,要先切换到当前目录,ln /home/wenmiao/桌面/demo/b/c/01.py 01_hard~/Desktop/demo目录下建立~/Desktop/demo/b/c/01.py的硬链接01_hard
    ls -l使用ls -l查看文件的硬链接数
    rm ./demo/b/c/01.py删除01.py文件
    tree并且使用tree来确认demo目录下的三个链接文件

    软硬链接区别
    硬链接在源文件删除后任然可以访问,只是硬链接数少1条
    软链接在源文件删除后无论是相对路径创建的还是绝对路径创建的都会失效

    请添加图片描述

    15.Linux打包压缩命令扩展

    不同操作系统中,常用的打包方式不一样
    Windows常用rar
    Mac常用zip
    Linux常用tar.gz

    ①.打包命令/解包命令tar

    tar是把一系列文件打包到一个大文件夹中,也可以把一个打包的大文件恢复成一系列文件(只打包和解包,不压缩)

    tar命令含义
    tar -cvf 打包文件.tar 被打包文件/路径1,2,3打包文件
    tar -xvf 打包文件.tar解包文件
    tar选项含义
    c生成档案文件,创建打包文件
    x解开档案文件
    v列出归档解档的详细过程,显示进度
    f指定档案文件名称,f后面一定是.tar文件,所以必须放选项后面(其他选项顺序随意)
    打包/解包演练含义
    在桌面创建demo文件夹mkdir demo
    在demo下新建三个空白文件01.py,02.py,03.pytouch 01.py,touch 02.py,touch 03.py
    将三个文件打成py.tar的包tar -cvf py.tar 01.py 02.py 03.py
    新建tar目录mkdir tar
    将py.tar移动到tar目录下mv py.tar ./tar
    进入tar目录,解包py.tarcd tar,tar -xvf py.tar
    ②.压缩命令/解压缩命令gzip

    tar只负责打tar包,扩展名为xxx.tar
    gzip负责压缩tar打包后的文件,扩展名为xxx.tar.gz

    tar选项含义
    -z调用gzip,方面实现打包后压缩和解压缩功能
    -C解压缩到指定目录,注意要解压缩的目录必须存在,不加-C选项默认解压缩在当前目录
    gzip+tar命令含义
    tar -zcvf 打包文件.tar.gz 被压缩文件/路径压缩文件
    tar -zxvf 打包文件.tar.gz解压缩文件
    tar -zxvf 打包文件.tar.gz -C 目标路径解压缩到指定路径
    gzip压缩/解压缩演练含义
    将三个文件压缩成py.tar.gztar -zcvf py.tar.gz *.py
    将py.tar.gz移动到tar目录下mv py.tar.gz ./tar
    进入gz目录,解压缩py.tar.gz到kk文件夹cd gz,tar -zxvf py.tar.gz -C /home/wenmiao/桌面/demo/kk
    ③.压缩命令/解压缩命令bzip2(two)

    tar只负责打tar包,扩展名为xxx.tar
    bzip2负责压缩tar打包后的文件,扩展名为xxx.tar.bz2

    tar选项含义
    -j调用bzip2,方面实现打包后压缩和解压缩功能
    bzip2+tar命令含义
    tar -jcvf 打包文件.tar.gz 被压缩文件/路径压缩文件
    tar -jxvf 打包文件.tar.gz解压缩文件
    tar -jxvf 打包文件.tar.gz -C 目标路径解压缩到指定路径
    bzip2压缩/解压缩演练含义
    将三个文件压缩成py.tar.bz2tar -jcvf py.tar.bz2 *.py
    解压缩py.tar.bz2到demo/bz2文件夹中tar -jxvf py.tar.bz2 -C /home/wenmiao/桌面/demo/bz2
    16.Linux安装/卸载/更新软件命令扩展
    ①.安装/卸载/更新软件命令apt
    apt命令含义
    sudo apt install 软件包在终端中安装软件
    sudo apt remove 软件名卸载软件
    sudo apt upgrade更新已安装的软件包,去服务器上检查哪些软件有更新包,就会自动更新
    apt演练含义
    sudo apt install slsl命令执行后,终端中显示一个小火车
    sudo apt install htophtop命令可以使top命令查出的进程排名软件更美观
    ②.配置软件源

    软件源:安装所有软件的源头
    如果希望在Ubuntu中安装软件更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提高软件下载/安装服务
    更新服务器的过程时间较长,更新完成后,再安装软件就会从新设置的服务器下载软件了

    镜像源:所有服务器的内容是相同的(镜像),但位置不同,国内服务器通常速度更快一些

    请添加图片描述
    配置软件源

  • 相关阅读:
    记一次 .NET 某物管后台服务 卡死分析
    SCI常用经典词和常用句型(一)
    Windows 安装 MySQL 5.7详细步骤
    基金|最新“情绪领域”项目情报分享,速看
    记一次 HTTPS 抓包分析和 SNI 的思考
    小李移动开发成长记 —— 大话小程序
    [附源码]计算机毕业设计基于SpringBoot的黄河文化科普网站
    Python语法糖大全
    828 B2B企业节引爆数字化需求 首周惠及中小企业数量同比增长117%
    HTML5期末考核大作业:基于Html+Css+javascript的网页制作(化妆品公司网站制作)
  • 原文地址:https://blog.csdn.net/weixin_43908649/article/details/127826700