您的位置:首页 > 运维架构 > Linux

Python全栈 Linux基础之3.Linux常用命令

2020-03-12 18:43 459 查看

文章目录

  • 二、cd命令
  • 三、创建和删除的操作
  • 四、复制、移动文件
  • 五、查看文件内容相关命令
  • 六、重定向&管道输出符
  • 一、ls及其使用

    ls是英文单词list的缩写,功能是列出当前目录下的文件列表,是非常常见的Linux命令之一。

    1.Linux下目录特点

    . 开头的文件是隐藏文件,使用ls查看时,需要加上 -a(all) 参数才能显示。
    . 代表当前目录,. . 代表上一级目录(可以理解为隐藏的两个文件路径)。
    cd .
    跳到当前目录;
    cd . .
    跳到上一级目录。

    2.ls常用选项

    选项 功能
    [-a] all,显示所有内容,包含隐藏文件
    [-l] (字母L小写) 显示文件详细信息
    [-h] human-readable,需要配合-l(字母L小写)选项,所谓的人性化显示

    练习:

    touch 123.txttouch .123.txt

    查看:

    ls -a

    显示:

    ls -l

    显示:

    ls -l -h

    显示:

    只是文件大小显示改变。
    选项可以合并,且顺序不影响

    ls -lh

    显示与前者相同。
    查看所有文件和文件夹(包括隐藏文件)

    ls -lah

    显示:

    3.ls配合通配符

    通配符 功能
    * 代表任意多个任意字符,可以没有字符
    ? 代表就是一个任意字符,至少一个字符
    [ ] 代表一个字符,取值范围在[ ]中,例如[1234 ]匹配1、2、3、4中的任意一个,[a-g] 匹配从a到g范围内的任意一个

    应用:
    批量查询、修改文件。
    练习:

    touch 123.txttouch 124.txt
    touch 125.txt
    touch 126.txt
    touch 223.txt
    touch 323.txt
    touch 111.txt
    touch 131.txt
    touch 11.txt
    touch 12345.txt
    ls

    显示:

    找到以1开头的文件

    ls 1*

    显示:

    找到以3结尾的文件

    ls *3.txt

    显示:

    ls 1*1.txt

    显示:

    ls ?1?.txt

    显示:

    查询含有1的文件:

    ls *1*.txt

    显示:

    ls 12[12345].txt

    显示:

    ls 12[1-6].txt

    显示:

    rm 1*1.txt
    ls

    显示:

    rm *.txt
    ls -a

    显示:

    删除文件时,只删除了非隐藏文件
    删除全部文件用

    rm .*.txt
    ls -a

    显示:

    二、cd命令

    cd是英文单词change directory的缩写,其功能就是跳转目录。
    它与之前的几个命令不同的是,cd是BASH内置命令,没有帮助文档与相关手册。
    所以在使用

    $which cd
    的时候是看不到它的二进制路径的,因为系统中不存在cd命令的二进制文件。

    命令 功能
    cd 切换到当前用户的家目录(home/用户名)
    cd ~ 和 cd 效果一样
    cd … 跳转到上一级目录
    cd - 在最近两个目录来回切换,有点像图形界面的 Alt + Tab切换窗口的感觉

    cd后面的路径可以是两种:
    相对路径绝对路径
    相对路径
    指相对当前目录的路径;
    绝对路径
    是指全路径。可以从 /(根目录)开始,或者是~(家目录)开始。
    注意:
    Linux下目录名称以及文件名称大小写是有区别的!
    练习:

    mkdir aaa
    cd aaa
    mkdir bbb
    cd bbb
    mkdir ccc
    cd ccc
    pwd

    显示:

    回到家目录:

    cd ~

    显示:

    再次到ccc:

    cd -

    显示:

    逐级回到家目录:

    cd ..
    cd ..
    cd ..

    显示:

    cd ../Downloads

    显示:

    三、创建和删除的操作

    1.mkdir命令

    创建一个新的目录。

    选项 功能
    [-p] 可以递归创建目录

    注意:
    新建的目录名称不能重名。

    2.rm命令

    删除文件或目录。

    选项 功能
    [-f] 强制删除,忽略不存在的文件,无需提示
    [-r] 递归删除目录下的内容,删除文件夹就用这个选项

    练习:

    touch 123.txt

    说明:
    创建文件时,如果文件存在,只修改创建时间,不改变内容。
    创建嵌套目录:

    mkdir -p a/b/c

    结果:

    在Linux中,文件和文件夹不能重名。

    touch 123
    makdir 123

    显示:

    先创建文件夹,再创建同名文件时,相当于改变创建时间。

    rm -f aabbcc

    显示:

    rm -r *

    显示:

    四、复制、移动文件

    1.拷贝文件

    cp命令
    拷贝文件或者目录,类似DOS中的copy。

    cp 源文件 目标文件
    选项 功能
    [-i] interactive互动,覆盖文件时有提示
    [-r] 如果cp跟上的是目录,那么将会递归拷贝目录下的所有子目录和文件

    tree命令
    tree命令可以将目录结构显示出来(树状显示)。

    选项 功能
    [-d] directory,只显示目录

    有的同学系统中默认没有此命令。所以会提示:

    可以用

    sudo snap install tree

    命令安装。
    练习:

    mkdir -p aaa/bbb/ccc
    tree

    显示:

    touch aaa/123.txt
    tree

    显示:

    tree ~

    显示:

    cd /
    mkdir -p ~/Desktop/a/b/c
    tree ~/Desktop

    显示:

    只看目录

    tree -d ~/Desktop

    显示:

    cd Desktop/
    cp aaa/123.txt .
    tree ~

    显示:

    cp aaa/123.txt test.txt

    显示:

    带提示:

    cp -i aaa/123.txt .

    显示:

    拷贝文件夹:

    cp -r a b
    tree

    显示:

    如果目标文件夹存在相同名称文件,则会提示覆盖。

    2.移动文件

    mv命令
    mv是move的缩写,用来移动文件/目录。
    小技巧:
    如果需要重命名,也可以使用mv命令覆盖当前文件/目录 达到效果

    选项 功能
    [-i] interactive,覆盖文件时有提示

    练习

    mkdir -p a/b/ctouch a/b/c/123.txt a/b/c/124.txt a/b/c/125.txt
    tree
    

    显示:

    mv a/b/c/123.txt .
    mv a/b/c .

    显示:

    移动文件夹不需要-r选项。
    如果目标文件夹存在相同名称文件,则会提示覆盖。
    带提示:

    mv -i c/124.txt 123.txt

    显示:

    mv -i 123.txt readme.txt

    可实现修改文件名的功能。

    五、查看文件内容相关命令

    命令 功能
    cat 文件名 concatenate,查看文件内容、创建文件、文件合并、追加文件内容等
    more 文件名 more,分屏显示文件内容(内容多一般用more)
    grep 搜索内容 文件名 grep,搜索文件内容

    1.查看文件

    cat

    • 查看文件内容、创建文件、文件合并、追加文件内容等;
    • 命令会一次性显示所有内容,所以适合查看内容较少的文件。
    选项 功能
    [-b] 显示每一行的行号
    [-n] 只显示有内容的行号,空行不算一行

    more
    此命令可以分屏显示文件内容,每次只显示一页内容。所以适合查看内容多的文件。
    使用more的操作按键:

    操作按键 功能
    空格键 显示下一页
    回车键 Enter 显示下一行
    b back,显示上一页
    f forward,向前和空格效果一样
    q quit,退出
    / 搜索文字 搜索文本中的内容
    cat 123.txt

    显示:

    cat -b 123.txt

    显示:

    cat -n 123.txt

    显示:

    more 123.txt

    显示:

    2.查找文件内容

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    选项 功能
    [-n] line-number,显示匹配行及行号
    [-v] invert-match,选中不匹配的行
    [-i] ignore-case,忽略大小写

    grep常用查找方式:

    • 在file_name中 搜索Hello_world这个单词
    grep Hello_world file_name
    grep "Hello_world" file_name
    • 在多个文件中查找
    grep "Hello_world" file_1 file_2 file_3 ...
    • 常用两种模式查找
    参数 功能
    ^hello 行首,搜索以hello开头的行
    world$ 行尾,搜索以world结束的行

    注意:
    区分大小写。

    grep corley 123.txt

    显示:

    带行号:

    grep -n corley 123.txt

    显示:

    偏移字节数:

    grep -b corley 123.txt

    显示;

    不区分大小写:

    grep -in corley 123.txt

    显示:

    不包含corley:

    grep -inv corley 123.txt

    显示:

    字符中间有空格时,加双引号:

    grep -inv "hello corley" 123.txt

    显示:

    六、重定向&管道输出符

    1.重定向

    符号 > >>

    • Linux中允许将命令执行结果 重定向到一个文件;
    • 将本应该显示在终端上的内容输出/追加到指定文件中。
    符号 功能
    > 输出重定向到一个文件或设备 覆盖原来的文件
    >> 输出重定向到一个文件或设备 追加原来的文件

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

    2.管道输出

    符号 |

    • Linux允许将一个命令的输出通过管道作为另外一个命令的输入。
    command 1 |  command 2 |  command 3 … …
    echo hello world > abc
    vi abc

    显示:

    ls -lh > abc

    结果:

    tree >> abc

    结果:

    管道符:

    ls -lh ~
    
    ls -lah ~
    
    ls -lah ~ > b
    
    grep -n vi b

    显示:

    相当于管道输出:

    ls -lah ~ | grep -n vi

    显示:

    ls -lah ~/.*vi*

    显示:

    这种输出相对不直观。

    ls -lah ~ | grep -in vi

    显示:

    • 点赞 14
    • 收藏
    • 分享
    • 文章举报
    cutercorley 发布了86 篇原创文章 · 获赞 571 · 访问量 16万+ 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: