Linux指令学习

Linux的目录

在这里插入图片描述

上面展示的是在你输入命令前,一定出现的信息,而这三个部分都有不同的含义:
红色:用户名
黄色:主机名
紫色:当前所在目录

  所以,这三个信息非常重要,在输入命令的时候,一定要注意自己所在的目录,不要犯操作错目录这种低级错误。

而在Linux中,目录有很多,其中有两个比较特殊:
/:根目录
~:家目录

  Linux 中根目录就像是一栋公寓,拥有很多的房间;你拥有一间房子,在这间房子里可以为所欲为,这个房子可以看成是家目录;其他的只能望而却步,那些是其他目录;但是在这栋大楼中有一个神,root 管理员,他可以随意操控这座大楼里的任何事物;它的结构可以用如下图表示:
在这里插入图片描述

文件信息

  在 Linux 中,有一个理念,就是一切皆文件,所以要会看懂一个文件的信息是十分重要的;那么我们在终端中输入:ll,敲回车,就可以查看到文件详细信息;
在这里插入图片描述
在这里插入图片描述

在上图中,每一段都有不同的属性:
1:文件属性:
第一个字母表示文件所属类型, d目录、 -文件、 c字符设备、 b设备文件、 l链接文件、 p管道文件、 s套接字文件;
第二个到第十个字母表示的文件权限, r可读、 w可写、 x可执行,三组权限,顺序不同: d(文件类型) rwx(拥有者) r-x(拥有者所在的组) r-x(其他用户);
2:文件个数:如果是目录可能含有多个文件,如果是文件,则为一;:
3:文件拥有者:即创建文件的用户;
4:文件拥有者所属的组:如果没有创建新的组,那么会默认将用户名作为组名;
5:文件大小:单位是 byte;
6:创建时间;
7:文件名;

基础指令:

1、文件显示
  • ls:显示当前目录下文件;
  • ls -a:浏览所有文件,包括隐藏文件( Linux 下,隐藏文件名字是以.开头);
  • ls -l:显示详细信息,显示结果和上面的文件信息内容一样;
2、文件信息
  • ll:显示当前目录下文件详细信息,和ls -l效果一样;
  • stat 文件名/目录名:显示文件 / 目录的详细信息,这个比上面的ll更详细,如文件大小、时间属性(A-最后一次访问时间,C-最后一次状态改变时间,M-最后一次修改时间)、所属者等等;
3、清空屏幕
  • ctrl+l:清屏;
  • clear:清屏;
4、跳转目录
  • cd 目录:目录跳转;
    cd /进入根目录;cd ~回到家目录;若直接使用cd后回车,也可以直接回到家目录;
    在这里插入图片描述
    上面演示,注意红线部分,可以看出现在所处的位置,由此可以看出,cd命令非常的灵活;
5、复制粘贴快捷键
  • ctrl+Insert:复制;
  • Shift+Insert:粘贴;
6、创建文件
  • touch:刷新文件的时间属性,若刷新的这个文件不存在,则会在当前目录创建这个文件;还有一些其他选项,可以刷新文件的指定时间;
  • touch -d "指定时间" 文件名:修改文件的最后一次访问时间和最后一次修改时间为指定时间;
  • touch -a "指定时间" 文件名:修改文件的最后一次访问时间为指定时间;
  • touch -m "指定时间" 文件名:修改文件的最后一次修改时间为指定时间;
    在这里插入图片描述
7、写入
  • echo 内容 > 文件名:向文件中写入内容,如果这个文件不存在,会先创建这个文件,再将内容写入;
    在这里插入图片描述
8、读取文件
  • cat 文件名:读取文件;
    在这里插入图片描述
  • more 文件名:分页显示文件内容,空格向下翻页,q退出;
  • less 文件名:分页显示文件内容,f空格是向下翻页,b是向上翻页;pgdown向下按行滚动,pgup向上按行滚动,q退出;/string 字符串:向下查找字符串,?string 字符串:向上查找字符串,n查找下一个
  • head 文件名:显示文件前十行;
  • head -n 文件名:显示文件前 n 行;
  • tail 文件名:显示文件后十行;
  • tail -n 文件名:显示文件后 n 行;
  • 命令1 | 命令2|管道符,命令 2 处理命令 1 的执行结果;
9、删除
  • rmdir 目录名:若指定目录为空,则删除;
  • rmdir -p 目录名:若指定目录为空,则删除,此时如果指定目录的父目录也为空了,也删除,然后继续照此规定向上递归删除;
  • rm 文件名:删除文件,默认只能删除普通文件;
    在这里插入图片描述
  • rm -r 目录名:删除目录,不管是否为空;
  • rm -ri 目录名:删除目录,增加提示信息;
  • rm -rf 目录名:删除目录,忽略提示信息,谨慎使用;
10、创建目录
  • mkdir 目录名:创建目录;
    在这里插入图片描述
  • mkdir -p 目录1/目录2/目录3:递归多层级创建目录,哪一层不存在就创建那一层;
11、显示路径
  • pwd:显示当前目录的绝对路径;
    在这里插入图片描述
    绝对路径:唯一路径,从根目录作为起始的路径叫做绝对路径;
    相对路径:从某个相对位置,通常以当前路径作为起始的路径叫做相对路径;
    每个目录下,都有两个比较特殊的目录:.表示目录本身,..表示目录的上一层路径;
12、移动
  • mv 原文件 目标文件:给原文件更改名字;
    在这里插入图片描述
  • mv 原目录 目标目录:若目标目录不存在,则是给目录改名字;若存在,则移动原目录到目标目录下;
  • mv 原文件 目录:将原文件移动到指定目录中;
13、拷贝
  • cp 原文件 目标文件:拷贝原文件到当前目录下,并改名为目标文件名字;
    在这里插入图片描述

  • cp 原文件 目录:拷贝原文件到指定目录下;

  • cp -r 目录1 目录2:拷贝目录 1 到目录 2 下;如果目录 2 不存在,则表示将目录 1 拷贝一份放到当前目录下,改名为目录 2;

14、重定向
  • 输入重定向:
    • 命令 < 文件:将指定文件作为命令的输入设备;
    • 命令 << 分界符:表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串;
    • 命令 < 文件1 > 文件2:将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中;
  • 输出重定向
    • 命令 >> 文件:追加重定向;将命令的正确输出写入到指定的文件中,追加到文件末尾;
    • 命令 > 文件:清空重定向;将命令的正确输出写入到指定的文件中,但是会清空文件原有内容;
    • 命令 2>> 文件:追加重定向;将命令的错误输出写入到指定的文件中,追加到文件末尾;
    • 命令 2> 文件:清空重定向;将命令的错误输出写入到指定的文件中,但是会清空文件原有内容;
    • 命令 &>> 文件:追加重定向;将命令的正确和错误输出都写入到指定的文件中,追加到文件末尾;
    • 命令 &> 文件:清空重定向;将命令的正确和错误输出都写入到指定的文件中,但是会清空文件原有内容;
15、压缩解压
  • unzip 压缩包文件:zip 格式的文件解压缩;
  • zip 压缩包文件 文件1 文件2 文件3...:zip 格式的打包压缩

Linux下最常用的打包解包工具:tar -xzaf压缩包文件;

  • tar -czvf 压缩包文件 文件1 文件2 文件3...:压缩文件,其中的 z 可以替换为 j,二者选一即可;
  • tar -xzvf 压缩包文件:解压文件,其中的 z 可以替换为 j,二者选一即可,亦或者是省略这两个都不写,在解压缩时系统会自动根据压缩的格式进行对应的解压缩;
    • -c:打包;-v:显示详细信息;-z:打包同时进行 gzip 格式压缩;-j:打包同时进行 bzip2 格式压缩;-f:指定压缩包名称;
    • -x:解包;-v:显示详细信息;-z:解包同时进行gzip格式解压缩;-j:解包同时进行bzip2格式解压缩;-f:指定压缩包名称;
16、查找匹配
  • grep 字符串:不断从标准输入读取数据,然后和指定字符串进行匹配过滤;
  • grep 字符串 文件名:匹配并打印包含字符串的行:
    • -n:显示行号;-i:忽略大小写;-v:匹配不包含指定字符串的行;-R:针对指定目录下的所有文件进行匹配操作,他的操作对象是一个目录,而不是文件;
  • grep -E 字母$ 文件名:匹配指定文件以 字母 结尾的行;
  • grep -E ^字母 文件名:匹配指定文件以 字母 开头的行;
  • find 目录 -name 文件名:通过文件名查找;
  • find 目录 -type 文件类型:列出目录下的某类型文件;
  • find 目录 -ctime -n:列出最近 20 天内更新过的文件;
  • find 目录 -name '文件名':通过文件名字查找指定目录下的文件;
  • find 目录 -size +大小:通过文件大小查找指定目录下大于大小的文件,单位有:c、b、w、k、M、G,具体可查看手册;
  • find 目录 -size -大小:通过文件大小查找指定目录下小于大小的文件,单位有:c、b、w、k、M、G,具体可查看手册;
  • find 目录 -amin/cmin/mmin +/-数字:查找指定目录下的大于/小于数字的,数字的单位是分钟,a–最后一次访问时间,c–最后一次状态改变时间,m–最后一次修改时间;
  • find 目录 -atime/ctime/mtime +/-数字:查找指定目录下的大于/小于数字的,数字的单位是天;
17、权限
  • su 用户名:切换成指定用户,获取他的权限,前提是要知道密码;
  • sudo 命令:临时提权,让你拥有管理员权限,不过这需要管理员提前添加信任;
  • 对于访问用户的分类:文件所有者–u,文件所属组–g,其他用户–o;
  • 对于访问操作的分类:可读–r,可写–w,可执行–x;
  • Linux 中文件权限的表示方式:rwx rwx rwx,分别和 u,g,o 相对应,如果不具备某个权限则以-表示;
  • 在创建文件时,文件默认的权限是rwx rwx r-x,如果是普通文件,那就是rw- rw- r--,因为普通文件是不可执行的;
  • 权限的默认值是多少就牵扯到了权限掩码,因为权限格式是固定的,所以我么可以将其使用二进制来表示,例如前面的默认权限可以表示成111 111 101,那就是 775;而权限掩码就是二进制表示的,默认权限值就是权限掩码的反码,也就是说默认权限掩码为 002;
  • umask:查看权限掩码,以二进制显示,例如rw- rw- r--显示就是 664,也就是110 110 100
    在这里插入图片描述

  • umask -S:查看权限掩码,以字母显示,例如显示为rw- rw- r--
    在这里插入图片描述

  • umask 三位二进制:修改默认权限掩码;
    在这里插入图片描述

  • chmod a/u/g/o +/- r/w/x 文件名:修改指定文件给 所有人/ 文件所有者/ 文件所属组/ 其他用户  增加/ 减少  可读/ 可写/ 可执行 权限;

  • chmod 文件名 三位二进制:给文件修改为指定的权限;

  • chown 用户名 文件名:修改文件的所有者为指定用户,需要管理员权限;

  • chgrp 用户名 文件名:修改文件的所属组为指定用户,需要管理员权限;

  • chmod -t 目录名:为文件设置沾滞位,限制其他用户在目录中不能删除其他人的文件;

18、Linux与Windows文件传输
  • 前提:安装 lrzsz 软件包;
  • rz:执行命令后可以从 Windows 下上传文件到 Linux 下;
  • sz 文件名:执行命令后可以将 Linux 下的文件传输到 Windows 下;
  • 注意事项:有些代码文件在转换的时候,可能会出现乱码问题,这是因为 Linux 下默认编码为 utf-8, Windows 下默认编码为 cp936,所以需要转换,具体方法请参照这篇博客:linux与windows编码转化
19、特殊指令和操作
  • man 指令:帮助手册,查看指定指令的操作,十分详细;
  • ifconfig:显示网卡信息,也就是你想使用xshell链接你的虚拟机时,就要在虚拟机上敲此命令,才会显示出连接所需的信息;
  • shotdown -h now/10:立刻关机或者10分钟后关机;
  • reboot:重启;
  • useradd -m 用户名:创建一个用户;
  • passwd 用户名:设置密码;
  • userdel -r 用户名:删除一个用户;
  • 中断当前指令操作:ctrl + c
  • 文件名自动补全:输入文件名的一部分,然后按tab键即可完成自动补全;
总结

  以上命令都是一些基础指令,能够使你尽快熟悉操作起来 Linux,但是能做的事情有限,而且 Linux 博大精深,不是一时半会就能学好的,我个人觉得学习这种操作性的东西,最好的方法就是多去实践,多去敲命令,当你遇到一个功能想去实现却不知道怎么做时,那就去查,去百度,去看别人写的博客总结,慢慢的,你就会发现不知不觉间,你已成大佬。


博客园发表于 2020-11-09 10:30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值