Linux 02004 Liunx 基础 - Linux 命令 - 文件管理

花花花次元 · 2021年10月25日 · 1471 次阅读

命令说明

  • Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。
  • 近几年来,尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux 命令行的应用还是占有非常重要的席位,而且许多 Linux 功能在命令行界面要比图形化界面下运行的快。可以说不会命令行,就不算会 Linux。
  • Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。Linux 发行版本最少的命令也有 200 多个,这里只介绍比较重要和使用频率最多的命令。

Linux 命令格式:    ls  -a  /root/hello
command  [-options]  [parameter1]  …
说明:  
command:命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,也可以省略,[] 代表可选 
parameter1 …:传给命令的参数:可以是零个一个或多个

一般是 linux 命令自带的帮助信息
如:ls --help

在敲出命令的前几个字母的同时,按下 tab 键,系统会自动帮我们补全命令。

ls:查看文件信息

命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项 [-ald]  [文件或目录]
    -a 显示指定目录下所有子目录与文件,包括隐藏文件
    -l 以列表方式显示文件的详细信息
    -h 配合 -l 以人性化的方式显示文件大小
    -d 可以查看当前目录的属性

案例
    ls -a 显示当前目录下的所有文件包含隐藏文件
    ls -al 显示当前目录下的所有文件包含隐藏文件以列表方式显示文件的详细信息
    ls -alh 显示当前目录下的所有文件包含隐藏文件以列表方式显示文件的详细信息和大小
    ls -dl 查看当前文件夹的属性
注意:Linux 文件或者目录名称最长可以有 265 个字符,“.” 代表当前目录,“..” 代表上一级目录,以 “.” 开头的文件为隐藏文件,需要用-a 参数才能显示。

cd:切换工作目录

命令名称:cd
命令英文原意:change directory
命令所在路径:shell 内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
        cd /  进入用户的主目录。
        cd  test 进入当前目录下的 test 目录【这个是相对目录】
        cd /root/test 进入 root 目录下的 test 目录 【这个是绝对目录】
        cd ~        切换到当前用户的主目录 (/home/用户目录)
        cd .          切换到当前目录
        cd ..         切换到上级目录
        cd -         可进入上次所在的目录
注意:Linux 所有的目录和文件名大小写敏感

clear:清屏

clear 作用为清除终端上的显示 (类似于 DOS 的 cls 清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母)。

pwd:显示当前路径

命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前所在的工作目录

mkdir:创建目录

命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir  [目录名]
功能描述:创建新目录
   参数说明  -p 如果上层目录不存在,则会创建上层目录,可递归创建目录。
范例:
        mkdir  test 在当前目录下创建一个 test 的目录
        mkdir  /root/test 在 root 目录下创建一个 test 目录
        mkdir  /root/test1/test2/test3 创建目录 这里会报错,因为 test1, test2 目录不存在 解决办法是  mkdir -p  /root/test1/test2/test3

        mkdir  /root/test4  /root/test4 同时创建两个目录
        mkdir  test6  test7 在当前目录下创建两个目录
        mkdir 'pargam files'创建一个有空格的目录【不推荐使用】
注意:需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。

touch:创建空文件

命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
范例:
        touch test 在当前目录下创建一个 test 的文件
        touch /root/test 在 root 下创建一个 test 的空文件
        touch test1 test2 在当前目录下创建两个空文件
        touch 'test1 test2'在当前目录下创建一个有空格的文件 [不推荐使用]

cp:复制文件/文件夹

命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -r [源文件或目录] [目的目录]
-r 递归复制目录下的所有文件
-v 显示复制进度
   功能描述:复制文件或目录 ,默认的 cp 只能复制文件,不能是目录 如果是目录要使用-r
   案例
        cp -r /root/mywork  /root/helloworld 把 mywork 复制到 helloworld 里面
        cp -rvif /root/install.log  /root/helloworld 把 install.log 文件复制到 helloworld 里面 并显示进度

mv:移动/重命名文件

命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv  [源文件或目录]  [目的目录]
功能描述:移动文件、更名
   案例
        mv /root/install.log /root/mywork/install.log 把 install.log 移动到 mywork 里面
        mv /root/install.log /root/ins.log 把 install.log 改成 ins.log

rmdir:删除目录
可使用 rmdir 命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。
rmdir -p dir1/dir2/dir3 相当于 rmdir dir1/dir2/dir3 dir1/dir2 dir3

rm:删除文件/文件夹

命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm  -r   [文件或目录]
-f:强制删除,不提示
-i :需要逐个确认删除
-v:显示删除进度
   案例
        rm test1 删除 test1 文件
        rm -r test1 删 test1 文件或者 test1 文件夹里面的所有内容会提示
        rm -rf test1 删除 test1 文件或者文件夹不提示
        rm -rf /root/mywork 删除 root 下面的 mywork 文件或者文件夹不提示

cat:查看/合并文件

命令名称:cat
命令英文原意:concatenate and display files
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
范例: 
        cat  install.log 查看当前目录下的 install.log 文件
        cat  /root/install.log 查看绝对目录下的文件
        cat  test1.txt test2.txt >>test3.txt 把 test1.txt test2.txt 里面的内容追加到 test3 里面
        cat test1.txt test2.txt > test3.txt 先清空 test3.txt 再把 test1.txt test2.txt 里面的内容追加到 test3 里面
       >  :清空再追加
       >>:直接追加

more:分屏显示文件内容

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用 more 命令,每次只显示一页,按下空格键可以显示下一页,按下 q 键退出显示,按下 h 键可以获取帮助。
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more  [文件名]
    (空格) 或 f 显示下一页
    (Enter) 显示下一行
    q 或 Q 退出
功能描述:分页显示文件内容
范例:   $ more  /etc/services 显示 services 里面的内容。并分显示

head:显示文件前几行

指令名称:head
指令所在路径:/bin/head
执行权限:所有用户
语法:head  -num  [文件名]
            -num 显示文件的前 num 行
功能描述:查看文件的前几行
范例:$ head  -20  /etc/services 查看 services 文件的前 20 行,一般用于看代码的注释

tail:显示文件末尾几行

指令名称:tail
指令所在路径:/bin/tail
执行权限:所有用户
语法:tail  -num  [文件名]
            -num 显示文件的后 num 行
功能描述:查看文件的后几行
范例:$ tail  -20  /etc/services 查看 services 文件的后 20 行

ln:创建链接文件

Linux 链接文件类似于 Windows 下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录,会同步更新。
注意:
如果没有-s 选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s 选项是更常见的形式。
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
语法:ln  -s  [源文件]  [目标文件]
-s 创建软链接
功能描述:产生链接文件
   案例
       ln /etc/issue  /root/etc/issue.bak.hard 硬链接
                | -- 如果删除了 issue 文件 issue.bak.hard 可以使用
       ln -s /etc/issue /root/etc/issue.soft 软链接
               | -- 如果删除了 etc/issue 文件,那么 issue.soft 就失效了
删除链接直接使用 rm 命令

which:查找命令所在目录

命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which  [命令名称]
功能描述:显示系统命令所在目录\
范例:which ls 可以查看命令所在的目录

find:查找文件/目录

命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径]  [搜寻关键字]
功能描述:查找文件或目录
    $ find  /etc  -name  init                         在目录/etc 中查找文件 init
    $ find  /  -size  +204800                      在根目录下查找大于 100MB 的文件
    $ find  /  -user  sam                              在根目录下查找所有者为 sam 的文件
    $ find  /etc  -ctime  -1                         在/etc 下查找 24 小时内被修改过属性的文件和目录
    $ find  /etc -size  +163840 -a -size  -204800           在/etc 下查找大于 80MB 小于 100MB 的文件
    $ find /etc -name inittab -exec ls -l {} \;                       在/etc 下查找 inittab 文件并显示其详细信息
   $ find -perm 777;                                查找当前目录下权限为 777 的文件/目录

tar:打包/归档文件

命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项 [cvf]  [目录]
                        -c   产生.tar 打包文件
                        -v   显示详细信息
                        -f   指定压缩后的文件名
                        -z  打包同时压缩
                        -x   解开档案文件
功能描述:打包目录
压缩后文件格式:.tar.gz
   案例
        tar -zcvf test.tar.gz test 把 test 文件或文件夹压缩成 test.tar.gz
        tar -xvf test.tar.gz  test 解压 test.tar.gz
        tar -xvf xxx.tar.gz -C ./dir1 # 解压到指定目录
tar 是 Unix/Linux 中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。tar 命令很特殊,其参数前面可以使用 “-”,也可以不使用。

tee:读取标准输入数据,并将其内容输出成文件

如果想让 shell 输出即显示在终端里,又保存到文件中,可以使用 tee 命令
command | tee logfile
-a:--append 将内容追加到指定文件中
-i:忽略中断信号

ssh:secure shell

ssh 是建立自在应用层基础上的安全协议,为远程登录会话和网络服务提供安全性的协议
ssh -p22 username@server_url
ssh 的默认端口是 22,可以不用指定
案例:ssh ck166735717@shell.ceshiren.com

shell 重定向

一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
标准输入文件 (stdin):stdin 的文件描述符为 0,Unix 程序默认从 stdin 读取数据。
标准输出文件 (stdout):stdout 的文件描述符为 1,Unix 程序默认向 stdout 输出数据。
标准错误文件 (stderr):stderr 的文件描述符为 2,Unix 程序会向 stderr 流中写入错误信息。
command 2>file  #stderr 重定向到 file                                 
command 2>>file    #stderr 追加到 file
command > file 2>&1    # 将 stderr 和 stdout 合并后重定向到 file
command >> file 2>&1   # 将 stderr 和 stdout 合并后追加到 file
command < input_file >output_file         # 将 stdin 重定向到 input_file,将 stdout 重定向到 output_files
command > /dev/null          # 丢弃输出结果,/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃
command >/dev/null 2>&1        # 屏蔽 stdout 和 stderr
注意:

等价与 tee -a
2 和>之间不可以有空格,2>是一体的时候才表示错误输出

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册