Shell常用命令(个人学习笔记)

本文介绍了Linux系统中的一些关键命令,如文件和目录操作(ls,cd,cp,rm,mv,mkdir,rmdir,find,touch),输入输出重定向,以及文件检索(grep,ln,touch,tar,gzip,zip)等,展示了Linux环境下的文件管理和操作技巧。
摘要由CSDN通过智能技术生成

Linux严格区分大小写!!

可以使用分号;一行输入多个命令

输入输出重定向:

输入定向:
< Shell command < inputfile
输出定向:>, >>
(可以用输出定向将其他文件写入别的文件里面)
  1. 目录信息查看
    文件浏览:ls,用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录

    ls [选项] [路径]
    
    -a 显示所有的文件以及子目录 -A
    -l 显示文件的详细信息,比如文件的形态,权限,所有者
    -t 按照文件的创建时间排列出
    -R 递归出所有文件
    
    ls -al  --- 显示所有文件的详细信息
    
  2. 目录切换命令cd

    cd /     --- 进入根目录
    cd ... 		---	进入上一级目录
    cd ~		--- 切换到当前用户主目录
    
  3. 当前路径显示命令pwd,显示当前工作目录的绝对路径

  4. copy文件:cp命令
    将文件或者目录复制到另一个文件或目录中,可以同时复制多个源文件到目标目录中。可以指定目标文件的名称

    -a 一般在复制目录时使用,保留链接,文件属性,并递归复制目录
    -r 如果给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
    
    -p 除了复制内容外,将修改时间和访问权限也复制到新文件中
    -d 复制时保留链接
    -f 删除已经存在的文件,并且不提示
    -i 交互式,在覆盖目标文件前提示
    
    -l 不作复制,只链接文件
    
  5. 显示文件命令 cat

    cat :concatenate连锁
    
    cat查看文件内容,`:`可以用于即合并文件
    
    -b 显示文件中的行号,空行不编号
    -n 没交的每一行前面显示行号
    -s 将连续的多个空行用一个空行来显示
    -v 显示除Tab和Enter之外的所有字符
    -E 在文件的每一行行尾加上`$`字符
    -T 将文件的Tab键用字符`^|`来显示
    
    cat file1 file2 file3 > filetotal
    cat filetotal
    结果:
    i am fiel1
    i am file2
    i am file3
    
  6. 分屏显示more
    more和cat类似 可以将文件内容显示在屏幕上,一次只显示一页,按下空格键可以显示下一页,按下q键退出

  7. 按页显示less
    less和more类似,可以浏览文本文件的内容,允许用户使用光标键反复浏览文本。

    • less可以不读入整个文本文件,所以在处理大型文件时速度较快
  8. 删除命令 rm

    rm命令可以删除一个目录里面的一个或多个文件或目录,也可以将某个目录及其下的所有文件及子目录均删除。

    删除链接文件时只是断开了文件,原文件保持不变

    -i 交互式删除
    -f 强制性删除
    -r 递归删除目录下的内容
    
  9. 移动或重命名文件 mv

    mv [选项] 源文件/目录 目标文件/目录
    -i 如果mv操作会对已存在的目标文件覆盖,询问
    -f 强制覆盖
    
    • mv 源文件 目标文件,两个文件在同一个目录下,表示将源文件重命名为目标文件
    • mv 目录 不存在的目录,在同一个父目录下,则是将源目录重命名为目标目录。
    • mv 多个文件或目录 已存在的目录将指定的源文件或目录均移动到目标目录中
  10. 创建目录mkdir

    mkdir [参数] 目录名
    -m 对新建目录设置存取权限
    -p 如果要建立的目录的上层目录尚未建立,则一并建立其上的所有祖先目录
    

    创建目录dir1,dir2,在dir1中创建dir3,在dir2中创建dir4,在dir2中创建文件file1

    mkdir dir1;
    mkdir dir2;
    cd dir1;
    mkdir dir3;
    cd ..;
    cd dir2;
    mkdir dir4;
    touch file1;
    
  11. 删除空目录命令rmdir rmdir [-p或者-r] 目录

    -p 递归删除目录,当子目录删除后,其父目录为空时也一同被删除。

    -r也可以删除目录机器下的文件和子目录,删除之前会提示

    目录必须是空的

    rmdir -p /root/dir1/dir3
    rmdir -r dir2
    
  12. 查找文件或者目录命令find
    find用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户的文件

    find [路径] [选项]
    
    -name <filename>  指定搜索的文件名,输出搜索结果
    -user <username>  搜索指定用户的所属文件
    -atime <time>     搜索在指定的时间内读取过的文件
    -ctime <time>     搜索在指定的时间内修改过的文件
    
  13. 文件定位命令 locate/slocate 文件名

  14. 文件内容检索命令grep

    grep [选项] <string> 文件名
    
    搜索/etc/vsftpd目录下后缀为.conf文件中,其内容中包含“anon”字符串的文本行
    grep anon /etc/vsftpd/*.conf
    
  15. 链接In
    在文件和目录之间建立链接

    In[参数] <源文件或目录> <目标文件或目录>
    链接分为软连接和硬链接
    1. 软链接
    ln -s /user/share/doc doc
    创建一个链接文件doc,并指向目录/user/share/do
    2. 硬链接
    ln /user/share/test hard
    创建一个硬链接文件hard,这是对于test文件对应的存储区域来说,又多了一个文件指向它
    
  16. touch
    生成一个空文件或 修改文件的存取/修改的时间记录值

    touch [参数] <文件名>
    
    touch *   将当前的文件时间修改为系统的当前时间
    touch -d 20040210 test       将test文件的日期改成20040210
    touch abc      若abc文件存在,则修改为系统的当前时间,若不存在,则生成一个为当前时间的空文件
    
  17. 打包命令tar

    tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Unix上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gizp压缩命今压缩成xxx.tar.gz(或称为xxx.tgz)的文件。注意: tar不仅可以打包文件,也可以将硬盘数据备份常用参数:

    -c:创建一个新tar文件-V:显示运行过程的信息
    -f:指定文件名
    -Z:调用gzip压缩命今进行压缩
    t:查看压缩文件的内容
    -X:解开tar文件
    

    在这里插入图片描述

  18. 压缩命令 zip或gzip

    zip是将文件打包为zip格式的压缩文件

    unzip是从zip包中解压出某个文件

    gzip是将文件打包为tar.gz格式的压缩文件

    gunzip从tar.gz包中解压出某个文件


    gzip 命令:

    gzip test.txt 它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样

    gunzip test.txt.gz

    它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向

    gzip -c test.txt > /root/test.gz 这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样

    gunzip -c /root/test.gz > ./test.txt

    zip 命令:

    zip test.zip test.txt

    它会将 test.txt 文件压缩为 test.zip ,当然也可以指定压缩包的目录,例如 /root/test.zip

    unzip test.zip 它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项

    unzip test.zip -d /root

  19. 修改时间date;日立cal,时间命令clock

学习Shell命令时,以下是一些重要的注意事项和学习建议: 1. 基本语法:Shell命令通常由命令名称和参数组成。命令名称是要执行的操作,而参数则提供了命令所需的信息。了解Shell命令的基本语法是学习的第一步。 2. 命令帮助:大多数Shell都提供了内置的命令帮助功能。通过使用命令后跟`--help`或`-h`选项,或者使用`man`命令(例如`man ls`)来获取有关特定命令的详细信息。 3. 常用命令:有一些常见的Shell命令对于日常使用非常有用。这些包括`cd`(更改目录)、`ls`(列出目录内容)、`mkdir`(创建目录)、`rm`(删除文件或目录)等。逐步学习和掌握这些命令是很重要的。 4. 管道和重定向:Shell命令非常强大,可以通过管道和重定向符号将多个命令组合在一起。了解如何使用管道(`|`)将一个命令的输出作为另一个命令的输入,并使用重定向符号(`>`、`>>`、`<`)来控制输入和输出。 5. 脚本编写:Shell脚本是一种将多个命令组合在一起以自动化任务的方法。学习如何编写简单的Shell脚本可以提高工作效率。 6. 实践和练习:最重要的是进行实践和练习。尝试使用不同的Shell命令来完成各种任务,并在实际场景中应用所学知识。 记住,Shell命令学习是一个逐步的过程。开始时可能会有些困惑,但随着实践和经验的积累,你会变得越来越熟练。希望这些提示对你有帮助!如有任何具体问题,随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值