• Linux-第六章:Linux常用命令


    6.Linux命令

    • ls 查看目录的内容 常用ls -la/home 显示目录下的所有文件的详细信息,详细信息第一个内容有四块,d或者-开头rwx
    • clear 清屏
    • cd 切换文件路径
    • pwd 显示当前文件夹
    • mkdir 创建文件夹
    • touch 创建文件
    • rm 删除文件或者文件夹
    • mv 移动文件或者对文件重命名
    • ">" 输出重定向
    • "|" 管道
    • cp 拷贝
    • chmod 更改权限
    • find 查找文件
    • grep 查找文件内容
    • reboot 重启
    • shutdown 关机
    • who 查看当前登录用户
    • exit 退出登录用户
    • passwd 设置密码
    • su 切换管理员
    • which 查看命令的位置
    • ln 链接
    • tar 打包,解包
    • zip/gzip/bzip2 压缩,解压缩

    6.1cd 切换文件夹

    cd /home 绝对路径 以根目录开头

    cd admin 想等路径,不以根目录开头

    cd .. 返回上级目录

    cd ~ 到自己的家 /home/admin

    cd - 电视回看功能

    注意:..代表上级目录,.代表当前目录

    6.2pwd 查看当前目录

    对应英文print work directory

    6.3ls 查看目录的内容

    ls 查看目录的内容

    ls -l 显示详细列表,更快捷的可以用ll表示 ls -l ==ll

    ls -lh 把文件的带下以人性化的方式显示

    ls -a 显示所有文件,包含隐藏文件、隐藏文件夹,隐藏文件是.开头的文件

    ls tupian 查看相对路径下的tupian文件夹下的内容

    ls / 查看根目录下的文件,不用切换目录cd

    ls -la / 查看根目录下所有文件的详细信息

    通配符

    *匹配多个字符

    ?匹配一个字符

    [ ]括号里面的字符随机匹配一个

    转义字符,将通配符当成普通的符号看

    ls *txt 查看当前目录下所有以txt结尾的文件

    6.4mkdir 创建文件夹

    英文名:make diretory

    只要没有写绝对路径,都是默认的相对路径

    mkdir tupian 在当前目录下创建文件夹

    mkdir /home/admin/tupian 以绝对路径创建文件夹

    mkdir /home/admin/a/tupian -p 如果上级目录不存在,加上-p自动创建父目录

    mkdir shipin/nan shipin/nv

    mkdir wendang/{nan,nv} 同时创建多个文件夹

    mkdir .ren 以.开头,创建的是隐藏文件夹

    由此发现..保存的是上级文件

    6.5touch 创建文件

    touch abc.txt 在当前目录下创建 如果指定了目录,必须保证上级目录存在

    touch .abc 创建隐藏文件

    • Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为人同意的文件名

    6.6gedit 打开文件的命令

    gedit abc.txt

    6.7rm 删除文件或者目录

    rm abc.txt 删除文件

    rm a -r 加上-r表示删除的是目录

    rm * -r 删除所有的内容,但是.和..不能删除

    drwxrwxr-x d 表示文件夹 -表示文件

    rwx rwx r-x r 可读 w 可写 x 执行

    第一组指文件的拥有者的权限,第二组代表文件拥有的组的权限,第三组代表其他用户的权限

    tmp这个目录全部的用户都有rwx权限

    6.8clear 清屏

    6.9自动补全

    在敲出文件/目录/命令的前几个字母后,按下tab键

    • 如果输入没有歧义,系统会自动补全
    • 如果还存在其他文件/目录/命令,再按一下tab键,系统会提示可能存在的命令

    小技巧:

    ctrl+l清屏

    按上/下光标可以在曾经使用过的命令之间来回切换

    如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl+c

    ctrl+shift+= 放大总段窗口的字体显示

    ctrl + - 缩小终端窗口的字体显示

    6.10man 终端命令

    man command 查阅command命令的使用手册

    man是manual的缩写,是Linux提供的一个手册,包含绝大多数的命令,函数的详细使用说明

    使用man时的操作键

    操作键 功能
    空格键 显示手册的下一屏
    Enter键 一次滚动手册页一行
    b 回滚一屏
    f 前滚一屏
    q 退出
    /word 搜索word字符串

    6.11--help

    command --help显示command命令的帮助信息

    6.12cp 拷贝

    拷贝一个文件,在指定目录下粘贴文件,若目录下已经有该文件,会自动覆盖之前的文件

    cp 1.txt a 把1.txt复制到a这个文件夹下

    cp 1.txt 2.txt 把1.txt复制到2.txt,若当前目录下没有2.txt则会自动创建一个文件

    cp a a_bak -r 拷贝文件夹

    常用选项说明

    选项 含义
    -a 该选项通常在复制目录时使用,它保留连接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
    -f 覆盖已经存在的目标文件而不提示。默认直接覆盖,所以可以不用加。
    -i 交互式复制,覆盖文件前给出用户提示要求用户确认。
    -r 若给出的源文件时目录文件,则cp递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
    -v 显示拷贝进度。

    注意:cp命令需要看后面一个参数到底存不存在,存在的话则将其第一个参数拷贝过去第二个参数的文件夹下,不存在则创建一个新的文件名字为第二个参数。

    需要加常用选项的有

    rm -r 删除文件夹

    cp -r 拷贝到文件夹

    mkdir -p 目录不存在则自动生成

    6.13mv 移动、重命名

    用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名

    mv 1.txt abc.txt 同样是移动到当前目录下,可以当作是重命名

    mv abc.txt nv 将abc.txt移动到nv这个文件夹下

    mv abc.txt nv/abc_bak.txt 将abc.txt移动到nv这个文件夹下并且改名为abc_bak.txt

    mv abc nv 将abc文件夹移动到nv文件夹下

    注意:移动文件夹的时候不用加-r也不会报错

    常用选项

    选项 含义
    -f 禁止交互式操作,如有覆盖也不会给出提示
    -i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免错误覆盖文件
    -v 显示移动进度

    mv 4.txt /home/admina 将4.txt移动到home文件夹下并且改名为admina,这样会提示权限不够

    mv 4.txt /home/admin 将4.txt移动到admin目录下,运行不会报错

    6.14输出重定向命令: >

    Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中

    ls >test.txt test.txt如果不存在,则创建,存在则覆盖其内容

    ls的结果一般会显示到终端上,现在加上>会将显示的结果存放到test.txt中,且覆盖

    注意:>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部

    6.15cat 查看或者合并文件内容

    cat test1.txt 在终端上查看test1.txt的内容

    cat test1.txt test2.txt 查看两个文件的内容,且先显示test1.txt

    cat test1.txt test2.txt >test3.txt 合并两个文件的内容到第三个文件中,并且终端上不显示

    若一个文件中的内容特别多,cat命令会直接翻到最后一行,不方便我们的查看

    6.16more 顺序查看文件

    more 1.txt 顺序从上往下查看文件,按enter/空格可以往下翻,enter是一行一行翻,空格是一页一页翻,按b往回翻页,按q键退回,翻到最尾就不能再翻了,会自动返回终端。

    6.17管道 : |

    管道:一个命令的输出可以通过管道作为另一个命令的输入

    管道我们可以理解为显示中的管子,管子的一头塞东西进行,另一头取出来,这里的"|"的左右分为两端,左端塞东西(写),右端读取东西(读)。

    ls / | more 管道里面 不能往回翻,因为这不是一个文件,只是将左边的结果返回给右边的命令进行处理

    1600837413511

    6.18建立链接文件:ln

    Linux链接文件类似于Windows下的快捷方式。

    链接文件分为软链接和硬链接。

    软链接:不占用磁盘空间,源文件删除则软链接失效。

    硬链接:硬链接只能链接普通文件,不能链接目录

    使用格式:

    硬链接

    ln 源文件 链接文件

    软链接

    ln -s 源文件 链接文件

    例子:

    软链接本身不存储内容,只记录源文件的名称

    ln -s 1.txt 1_link 给1.txt创建一个软链接,只记录名称,相当于windows的快捷方式

    ln -s 1,txt ~.1_link 给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在的

    ln -s /home/admin/1.txt ~/1_link

    ln -s abc abc_link 给目录创建软链接

    如果没有-s表示建立硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s是更常见的形式。

    注意:如果软链接的文件和源文件不在同一个目录,源文件需要使用绝对路径,不能使用相对路径。

    将软链接的源文件删除以后,会发现链接文件会标红,再创建一个相同名字的源文件,链接文件又恢复正常。

    创建链接以后,操作链接文件和操作源文件的效果是一样的。

    硬链接相当于把源文件的内容全部拷贝过去,本身占用空间,能与源文件保持同步的变化,ll查看的第二项的数字就是文件同步的数量,删除源文件对链接文件不会产生影响。

    6.19grep 查找文件内容

    grep hello test.txt 按行搜索test.txt中包含hello的行

    grep -n hello test.txt 会多显示在哪一行

    grep -i hello test.txt 对hello不区分大小写

    grep -v hello test.txt 反向查找

    grep -n hello . -r 查找一个目录下的文件里面是否存在hello,需要加上-r

    常用选项说明:

    选项 含义
    -v 显示不包含匹配文本的所有行
    -n 显示匹配行及行号
    -i 忽略大小写

    grep搜索的内容可以是正则表达式

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特殊字符、及这些特定字符的组合组成一个“规则字符串”,这个规则字符串用来表达对字符串的一种过滤逻辑。

    grep常用正则表达式:

    参数 含义
    ^a 行首,搜索以m开头的行:grep -n '^a' 1.txt
    ke$ 行尾,搜索以ke结束的行:grep -n 'ke$' 1.txt
    [Ss]igna[LI] 匹配[]里面的一系列字符串中的一个,搜寻匹配单词signalsignaLSignalSignaL的行
    . 点匹配一个非换行符的字符,匹配e和e之间又任意一个字符,可以eee,eae,eve,但是不匹配ee,eaae。grep -n 'e.e' 1.txt

    6.20find 查找文件

    通常用来在特定目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

    常用用法:

    命令 含义
    find . -name test.sh 查找当前目录下所有名为test.sh的文件
    find . -name '*.sh' 查找当前目录下所有后缀为.sh的文件

    加上通配符的应用需要加引号

    find ~ -name '*txt' 找到家目录下所有以txt结尾的文件

    find / -type f -size +1G 找到根目录下大于1G的文件(+表示大于,-表示小于)

    6.21归档管理:tar

    此命令可以将一系列文件归档到大文件中,也可以把档案文件解开以恢复数据

    tar使用格式tar[参数] 打包文件名 文件

    tar cvf a.tar *.txt 打包

    tar xvf a.tar -C atar 解包

    tar命令很特殊,其参数前面可以使用“-”,也可以不使用

    常用参数:

    参数 含义
    -c 生成档案文件,创建打包文件
    -v 列出归档解档的详细过程,显示进度
    -f 指定档案文件名称
    -t 列出档案中包含的文件
    -x 解开档案文件

    注意:需要指定文件名则必须加f,且f一般放到最尾

    例子:

    tar cvf a.tar 1.txt 2.txt

    f后面的第一个参数是打包的文件名,后面的都是要打包的文件

    tar tf a.tar 列出包里面的文件

    tar xvf a.tar 解包,如果没写目录,则将包里面的文件解开放到当前目录

    tar xvf a.tar -C tar 写上目录,且这个目录必须存在,不然会报错,目录存在则解开包里面的文件放到此目录下

    6.22gzip 压缩

    tar cf a.tar * 打包当前目录下的所有文件,目录下会生成a.tar文件

    gzip -r a.tar 压缩a.tar文件,生成a.tar.gz

    gzip -d a.tar.gz 先解压,得到a.tar文件

    mkdir ~/atar 创建目录

    tar xf a.tar -C ~/atar 解包到指定文件夹

    一般需要一步到位用

    tar czf b.tar.gz * 打包加压缩

    tar zxf b.tar.gz -C btar 解压解包到btar目录下

    6.23文件压缩解压:bzip2

    tar jcf j.tar.bz2 *txt 生成j.tar.bz2的压缩文件

    tar xjf j.tar.bz2 -C jtar 解压到jtar目录下

    6.24zipunzip 压缩解压

    zip -r zz *txt 这个会自动生成扩展名,生成zz.zip文件

    unzip -d zz zz.zip 若目录不存在,则自动生成一个zz文件夹,将zz.zip解压到zz文件中

    压缩率:zip<gzip<bzip2

    通用性:zip>gzip>bzip2

    2.25which查看位置命令

    which ls

    which zip

    用which命令的时候,可以查看命令的位置

    注意:windows中一般可执行程序是.exe结尾,但在Linux中,只要其rwx含有x就代表是可执行文件

    2.26su切换管理员

    su 切换到root 需要输入密码才能切换

    su admin 回车直接切换到admin用户

    6.27who查看当前登录用户

    admin pts/0

    admin tty1

    pts表示一个终端,tty表示用户登录了操作系统

    pkill -kill -t tty1 杀死用户登录的操作系统,需要重新进行登录

    6.28reboot 和 shutdown

    reboot 不需要权限,shutdown需要root权限

    reboot 立即重启操作系统

    shutdown -r now 重新启动操作系统,shotdown会给别的用户提示

    shutdown -h now 立即关机,其中now相当于时间为0的状态

    shutdown -h 20:25 系统在今天的20:25分关机

    shutdown -h +10 系统在10分钟后自动关机

    6.29用户管理

    超级用户可以使用passwd命令为普通用户设置或者修改用户密码,用户也可以直接使用该命令来修改自己的密码,且无需再命令后使用用户名。

    useradd admin #创建新用户

    passwd 1234 #设置用户密码

    userdel -r admin #删除用户

    6.30退出登录账户:exit

    • 如果是图形界面,退出当前终端
    • 如果是使用ssh远程登录,则退出登录账户
    • 如果是切换后的登录用户,退出则返回上一个登录账号

    6.31修改文件权限:chmod

    linux操作系统是多任务用户操作系统,每当我们使用用户名登录操作系统时,linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器,在Linux系统中,用户组也有一个ID、GID。

    在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

    chmod修改文件权限又两种使用格式,字母法与数字法

    字母法:chmod u/g/o/a +/-/= rwx 文件

    u user表示该文件的所有者
    g group表示与该文件所有者属于同一组者,即用户组
    o other表示其他以外的人
    a all表示这三者皆是
    +/-/= 含义
    + 增加权限
    - 撤销权限
    = 设定权限
    rwx 含义
    r read表示可读取对于一个目录,如果没有r权限,就意味着不能通过ls查看这个目录的内容
    w write表示写入,对于一个目录,如果没有w权限,则不能在目录下创建新的文件
    x excute表示可执行,对于一个目录,如果没有x权限,则不能通过cd进入到这个目录

    例子:

    chmod u+x test.txt

    chmod u-r test.txt

    chmod u=rw test.txt 设定文件所有者权限为rw

    chmod u=- test.txt 设置权限为空,什么权限都没有

    chmod u+r,g-w,o=x test.txt

    chmod a+w test.txt 所有人都添加w权限

    数字法:

    rwx这些权限也可以通过数字来代替

    字母 说明
    r 读取权限,数字代号为"4"
    w 写入权限,数字代号为"2"
    x 执行权限,数字代号为"1"
    - 不具任何权限,数字代号为"0"

    如chmod u=rwx,g=rx,o=r filename 等价于 chmod u=7,g=5,o=4 filename

    chmod 751 file:文件所有者有rwx,同组用户为rx,其他用户为x

    注意:如果想递归加上所有目录加上相同的权限,需要加上参数-R,如chmod 777 test/-R递归test目录下所有文件加777权限

    6.32vim/vi

    vi有三种基本工作模式

    • 命令模式
    • 文本输入模式
    • 末行模式

    vim基本操作

    vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富。

    进入插入模式:

    i:插入光标前一个字符

    I:插入行首

    a:插入光标后一个字符

    A:插入行末

    o:向下新开一行,插入行首

    O:向上新开一行,插入行首

    进入命令模式:

    ESC:从插入模式或者末行模式进入命令模式

    移动光标:

    h 左移

    j 下移

    k 上移

    l 右移

    M 光标移动到中间行

    L 光标移动到屏幕最后一行行首

    G 移动到指定行,行号 -G

    w 向后移动一个字

    b 向前移动一个字

    { 按段移动,上移

    } 按段移动,下移

    Ctrl -d 向下翻半屏

    Ctrl -u 向上翻半屏

    Ctrl -f 向下翻一屏

    Ctrl -b 向上翻一屏

    gg 光标移动文件开头

    G 光标移动到文件末尾

    删除命令:

    x:删除光标后一个字符,相当于Del

    X:删除光标前一个字符,相当于Backspace

    dd:删除光标所在行,n dd 删除指定的行数,D:删除光标后本行所有内容,包含光标所在字符

    d0:删除光标前本行所有内容,不包含光标所在字符

    dw:删除光标开始位置的字,包含光标所在字符

    撤销命令:

    u: 一步一步撤销

    Ctrl -r :反撤销

    重复命令:

    . : 重复上一次操作的命令

    复制粘贴:
    yy : 复制当前行,n yy 复制n行

    p : 在光标所在位置向下开辟一行,粘贴

    可视模式:

    v:按字符移动,选中文本

    V:按行移动,选中文本可视模式看配合 d, y ,>>,<<实现对文本块的删除,复制,左右移动

    查找命令:

    / : str查找

    n : 下一个

    N : 上一个

    按shitf+:进入末行模式:

    w 存盘

    wq 存盘退出

    q! 不存盘,强制退出

    例子:

    vim 1.txt

    按回车以后首先进入到命令模式,想写东西可以按a/A/I/i/o/O,进入插入模式,写完东西,需要保存则先按ESC,回到命令模式,再按shift+:进入末行模式,输入w回车即可保存文件写入的内容,再次返回命令行模式则再按ESC即可返回命令行模式。

    6.33ps

    ps 查看ps命令本身的进程,当前终端进程

    ps -ef 相当于打开任务管理器,查看正在运行的程序

    UID表示用户编号 PID表示每个进程的编号 PPID表示父亲进程的编号

    6.34kill

    kill命令用来种植执行的程序

    kill -9 12345 #杀死pid为12345的进程

    -9表示Linux中的第九号信号,杀死某一个进程

    6.35网络和服务管理命令

    service命令是用来控制系统服务的实体工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统业务的当前状态。

    service network status #查看网络服务状态

    service network stop #停止网络服务

    service network start #启动网络服务

    service network restart #重启网络服务

    Linux查看ip地址:ifconfig

    Windows查看ip地址:ipconfig

  • 相关阅读:
    Windows永久修改pip安装源
    MySQL 超键 候选键 主键 外键是什么
    scrapy中间件
    crawlspider
    scrapy
    MongoDB 命令
    如何反扒
    表前缀sw_时
    自增序号,而且默认变量就是$i,也就是说在你的volist标签之内,可以直接使用$i
    html,if标签使用
  • 原文地址:https://www.cnblogs.com/wrrr/p/14055571.html
Copyright © 2020-2023  润新知