美文网首页
Linux日常使用

Linux日常使用

作者: 囧书 | 来源:发表于2018-10-01 11:44 被阅读82次

    Linux命令简介

    常用命令

    序号 命令 对应英文 作用
    01 ls list 列出所有内容
    02 pwd print work directory 查看所在路径
    03 cd [目录名] change directory 切换文件夹
    04 touch [文件名] touch 文件不存在则新建,存在则修改日期
    05 mkdir [目录名] make directory 创建目录
    06 rm [文件名] remove 删除指定的文件
    07 clear clear 清屏

    命令格式

    command [-options] [parameter]
    

    说明:

    • command: 命令
    • -options: 选项,多个选项可以写-a -b,也可以写-ab,顺序无关
    • parameter: 参数

    查阅帮助

    --help

    command --help
    

    man

    man command
    

    man是manual缩写,手册,包含详细说明

    实用技巧

    自动补全

    1. Tab自动补全命令
    2. 有歧义时再按一下Tab给提示

    曾经使用过的命令

    1. 按上下箭头切换历史命令
    2. ctrl+c取消当前输入命令

    目录和文件命令

    ls 命令说明

    • .开头的文件为隐藏文件,需要用 -a选项查看。
    • .代表当前目录
    • ..代表上级目录
    选项 含义
    -a 查看所有文件,包括隐藏文件
    -l 查看可见文件
    -h 查看文件时,体积带单位。ls -l -hls -lh
    通配符 含义
    * 任意个字符
    ? 一个或多个字符
    [] 可以匹配字符组中任意一个
    [abc] 匹配a, b, c中的任意一个
    [a-f] 匹配从a到f范围内的任意一个

    cd 切换目录

    命令 含义
    cd 切换到用户主目录
    cd ~ 切换到用户主目录
    cd . 保持当前目录不变
    cd .. 切换到上级目录
    cd - 可以在最近两次工作目录之间来回切换
    • 绝对路径:以/~开头
    • 相对路径:不是以/~开头

    mkdir 创建目录

    Linux中的文件和目录不可同名 ,新建目录不能与文件同名。

    选项 含义
    -p 创建路径目录mkdir -p a/b/c/file

    rm 删除文件或目录

    rm删除后不能恢复,谨慎操作。

    参数 含义
    -r 删除目录及子目录所有文件
    -f 强制删除,不给提示

    tree 树形结构显示

    需要安装tree:apt install tree

    选项 含义
    -d 只查看目录

    参数可选,参数为tree查看目录

    cp 拷贝

    copy

    cp 源 目标
    
    选项 含义
    -i 覆盖文件前提示
    -r 如果目标不存在,则作为目录创建,并拷贝源下所有文件到目录;如果目标已存在并且是个目录,则拷贝整个源到此目录下

    mv 移动

    move,可用来重命名
    假如目标已存在,会发生覆盖

    选项 含义
    -i 覆盖文件前提示

    文件内容命令

    命令 英文 作用
    cat 文件名 concatenate 查看全部文件内容
    more 文件名 more 不会全部一次显示,分屏显示
    grep 搜索文本 文件名 grep 搜索文本内容

    more

    使用more的操作键

    操作键 功能
    空格键 显示下一屏
    Enter 滚动一行
    b 回上一屏
    f 前进一屏
    q 退出

    cat

    选项 含义
    -b 给非空行编号
    -n 无论是否空行都编号

    grep 模式查找

    模式指正则表达式
    如果要搜索的内容有空格,需要用引号括起搜索目标

    选项 含义
    -n 带行号
    -v 查找非包含的结果
    -i 忽略大小写

    echo

    在终端中显示参数指定的文字,通常和重定向联合使用
    echo 参数

    重定向“>”和“>>”

    将命令执行结果重定向到一个文件

    • > 输出到目标文件,完全覆盖目标文件内容
    • >> 追加内容到目标文件
    ls -lh > a.txt
    
    echo Hello > a.txt
    echo world! >> a.txt
    

    管道“|”

    • Linux允许将一个命令的输出通过管道做为另一个命令的输入
    • 第一个命令|第二个命令
      常用管道的命令有:
    • more分屏显示内容
    • grep查询文本
    ls -lh | grep .txt$
    

    远程管理命令

    关机和重启

    命令 英文 作用
    shutdown shutdown 关机/重启
    选项 含义
    -r 重启
    参数 含义
    now 现在执行。如果不指定参数,默认表示1分钟之后关闭系统
    20:25 指定时间
    +10 十分钟后,单位是分钟
    -c 取消之前指定的关机计划

    查看或配置网卡信息

    如果把电脑比作电话,那么网卡相当于SIM卡,IP地址相当于电话号码

    命令 英文 作用
    ifconfig configure a network interface 查看或配置网卡
    ping ip地址 ping 检测到指定ip地址的连接是否正常

    ifconfig

    inet addr:x.x.x.x 是网卡IP地址

    ifconfig | grep inet
    

    127.0.0.1是本地回环/环回地址,用来测试本机网卡是否正常

    ping

    # 检测到目标主机
    ping IP地址
    
    # 检测本地网卡是否正常
    ping 127.0.0.1
    

    ctrl + c取消ping
    ping的工作原理与潜水艇声纳相似,ping取自声纳的声音
    网管常将ping用作动词,ping一下这台机,看是它是否开着

    SSH

    Secure Shell 协议。
    数据传输是加密的,并且压缩。可防止DNS欺骗和IP欺骗。

    通过IP找到网络上的计算机,通过端口号找到相应的服务端程序

    常见默认端口号

    服务 端口
    SSH服务 22
    Web服务 80
    HTTPS服务 445
    FTP服务 21
    ssh [-p port] user@remote
    
    • user是远程机器上的用户名,如果不指定默认为当前用户
    • remote是远程机器地址,可是IP,域名,或别名
    • port是SSH服务监听端口,如果不指定,默认是22

    生成SSH密钥对:

    ssh-keygen
    

    把公钥传到要登录的目标机

    ssh-copy-id user@remote
    

    非对称加密

    • 使用公钥加密的数据,需要使用私钥解密
    • 使用私钥加密的数据,需要使用公钥解密

    在给user传输第一个公钥时,要输入user的密码,如果密码正确,但还是出现

    Permission denied, please try again.
    

    则编辑Linux下的/etc/ssh/ssh_config文件,开启密码访问权限

    PasswordAuthentication yes
    

    注意如果前面有#号把这行注释了,就要去掉#。
    编辑文件方法:

    1. 用vi打开文件vi /etc/ssh/ssh_config
    2. i进入编辑模式,修改好
    3. esc退出编辑模式,按:进入末行模式,输入wq保存并退出

    配置地址别名

    ~/.ssh/config追加以下内容:

    Host 别名
      HostName ip地址
      User 用户名
      Port 端口
    

    配置好后,使用别名代替地址:

    ssh 别名
    

    scp (secure copy)

    • 用于远程拷贝文件
    • 地址格式与ssh基本相同,只是指定端口时用的是大写-P
    选项 含义
    -P 指定端口
    -r 可以拷贝文件夹

    scp 端口 源 目标

    scp -P port aa.txt user@remote:Desktop/aa.txt 
    scp -P port user@remote:Desktop/aa.txt aa.txt
    

    加上 -r 可以传送文件夹

    scp -r demo user@remote:Desktop
    scp -r user@remote:Desktop demo
    

    用户权限命令

    对文件和目录的权限

    权限 英文 缩写 数字代码
    read r 4
    write w 2
    执行 excute x 1

    ls -l 的结果

    drwxr-xr-x  2 root root 4096 Oct  2 23:03 Doc
    

    分别是:

    • 权限
    • 硬连接数
    • 拥有者
    • 体积大小
    • 日期时间
    • 名称

    权限

    权限示意图.png

    硬连接数

    硬连接数代表有多少种方式路径可以到达。
    1的时候,是文件,只有绝对路径
    2的时候,是绝对路径 + 当前目录.号,两种方式
    3以上的时候,是因为这个目录有一个或多个子目录,还可以通过在子目录中使用..的方式到达。

    chmod

    • chmod可以修改用户或组文件或目录的权限
    • 格式:chmod +/-rwx 文件名|目录名。+表示增加权限,-删除权限

    如果把目录的可执行权限x去掉,就不能再对目录执行命令,不能cd,也不能ls,无法访问。对目录的读和写都需要有执行权限为前提。

    超级用户

    • Linux系统中的root账号通常用于系统的维护和管理,对所有资源具有访问权限。
    • 一般不使用root,而使用其它标准用户账号。

    sudo

    • su是 substitute user 的缩写,表示使用另一个用户的身份。
    • sudo命令用来以其他身份来执行命令,预设身份为root。
    • 用户使用sudo时,必须先输入密码,之后会有5分钟的有效期限。

    组管理命令

    创建组和删除组都需要超级用户权限,因为需要修改/etc/group文件。

    命令 作用
    groupadd 组名 添加组
    groupdel 组名 删除组
    cat /etc/group 查看组信息
    chgrp -R 组名 文件/目录名 递归修改文件/目录所属组

    用户管理命令

    创建删除

    命令 作用 说明
    useradd -m -g 组 用户名 添加新用户 -m 自动建立用户主目录 -g 指定组,不指定则创建一个同名的组
    passwd 用户名 设置用户密码 如果是普通用户,直接passwd可以修改密码
    cat /etc/passwd 确认用户信息 新建用户后,信息会保存在passwd文件中
    userdel -r 用户名 删除用户 -r选项自动删除用户主目录

    passwd文件

    存放的就是用户的信息,由6个分号组成的7个信息

    leon:x:1000:1000::/home/leon:
    

    分别是:

    • 用户名
    • 密码(x,表示加密的密码)
    • UID(用户标识)
    • GID(组标识)
    • 用户全名或本地账号,空表示全名即账号名
    • 主目录(家目录)
    • 登录使用的Shell,就是登录之后,使用的终端命令,ubantu默认是dash。可以改成/bin/bash,显示友好点。

    查看用户

    命令 作用
    id [用户名] 查看用户UID和GID
    who 查看当前所有登录的用户列表
    whoami 查看当前用户的账户名

    usermod

    • usermod可以用来设置用户的 主组/附加组 和登录Shell,格式如下:
    • 主组:通常在新建用户时指定,在/etc/passwd的第4列GID对应的组
    • 附加组:在/etc/passwd最后一列表示该组的用户列表,用于指定附加权限

    设置了用户的附加组后,需要重新登录才能生效

    # 修改主组
    usermod -g 组 用户名
    # 修改附加组
    usermod -G 组 用户名
    # 修改用户登录Shell为bash
    usermod - s /bin/bash 用户名
    

    which

    • which命令可以查看某个命令所在的位置
    which ls
    # 输出:/bin/ls
    
    which passwd
    # 输出:/usr/bin/passwd
    
    which useradd
    #输出:/usr/sbin/useradd
    

    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 - 用户名 切换用户,并且切换目录 写上“-”可以切换到目标用户的home
    exit 退出当前用户 回到切换之前的用户。有多少次su,就可以有多少次exit
    • su不接用户名,可以切换到 root

    修改文件权限

    命令 作用
    chown 修改拥有者
    chgrp 修改组
    chmod 修改权限

    格式如下:

    # 修改文件或目录拥有者
    chown 用户名 文件名|目录名
    
    # -R递归,修改组
    chgrp -R 组名 文件名|目录名
    
    #  递归修改权限
    chmod -R 755 文件名|目录名
    

    chmod的数字表示法

    • chmod设置权限时,用三个数字表示拥有者,组,其他 三种用户的权限
    • 比如7就表示可读可写可执行,5表示可读可执行,4表示可读
    文件权限示意图.png

    系统信息命令

    时间和日期

    命令 作用
    date 查看系统时间
    cal calendar查看日历,-y选项查看一年日历

    磁盘信息

    命令 作用
    df disk free 显示磁盘剩余空间
    du [目录名] disk usage 显示空间占用
    选项 含义
    -h 带单位,提高可读性

    进程信息

    命令 作用
    ps aux process status 查看进程详细状况
    top 动态显示运行中的进程并且排序 。输入q退出top
    kill [-9] 进程代号 终止进程,-9强制终止

    ps默认只会显示当前用户通过终端启动的应用程序

    ps命令的选项,不需要带“-”号:

    选项 含义
    a 显示终端上的所有进程,包括其它用户的进程
    u 显示进程的详细状态
    x 显示没有控制终端的进程

    其他命令

    find查找文件

    命令 作用
    find [路径] -name "*.txt" 查找指定路径下名字匹配所指定模式的文件

    软链接

    命令 作用
    ln -s 被链接的源文件 链接文件 建立文件的软链接,类似快捷方式
    • 没有-s选项建立的是硬链接文件
    • 源文件要使用绝对路径,这样方便移动链接文件后,仍然能够正常使用

    硬链接

    在使用ln创建链接时,如果不使用-s选项,就会创建一个硬链接。
    在删除了源文件后,软链接失效,但是硬链接还能访问。

    在Linux中,文件名和文件数据是分开存储的。

    文件软硬链接示意图.png

    打包压缩

    • Windows常用rar
    • Mac常用zip
    • Linux常用tar.gz

    打包/解包

    • tar是常用的备份工具,可以把一系列文件打包到一个大文件中,也可以把一个大文件恢复成一系列文件。tar只负责打包,不负责压缩。
    # 打包
    tar -cvf 打包文件.tar 被打包的文件/路径...
    
    # 解包
    tar -xvf 打包文件.tar
    

    tar选项说明:

    选项 含义
    c 生成归档文件,创建打包文件
    x 解开归档文件
    v 列出归档解档的详细过程,显示进度
    f 指定归档文件名称,f后面一定是.tar文件,所以必须放在最后

    压缩/解压缩

    • gzip可以压缩tar文件,完成后扩展名一般用xxx.tar.gz
    • 命令格式:
    # 压缩文件
    tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
    # 解压缩
    tar -zxvf 打包文件.tar.gz
    # 解压缩到指定路径
    tar -zxvf 打包文件.tar.gz -C 目标路径
    

    bzip2(two)

    可以压缩成bz2格式:xxx.tar.bz2
    tar命令中有一个选项-j,可以调用bzip2

    # 压缩
    tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
    # 解压缩
    tar -jxvf 打包文件.tar.bz2
    

    软件安装

    apt

    • apt是Advanced Packaging Tool,Linux下的安装包管理工具

    安装:

    sudo apt install 软件包
    

    安装前先更新一下apt:apt update

    卸载:

    sudo apt remove 软件包
    

    更新包:

    sudo apt upgrade
    

    安装一个小火车提示:

    sudo apt install sl
    

    安装一个比较彩色的更好看的看进程软件

    sudo apt install htop
    
    htop

    相关文章

      网友评论

          本文标题:Linux日常使用

          本文链接:https://www.haomeiwen.com/subject/vqfnoftx.html