[Linux]__基本操作指令__

由Xshell(伪终端)连接上VM里的centOS,可以在Xshell里方便快捷的进行操作。
在操作之前,可以先在工具栏里的配色方案里选择自己喜欢的配色,在选项里调节背景的透明度,以及其他关于界面的设置,创造出一个舒适的环境以后,按下alt+enter后可以进入全屏模式(再次按alt+enter可以退出全屏),开始我们的Linux基本指令的学习吧!

名词解释

  • terminal 终端

知识储备

  • 一般登录成功后在输入指令的位置前端都会出现一长串字符如下图:
    这里写图片描述
  • 以我自己的用户名为例,基本格式为: 用户名@主机名 目录名称
符号 含义
~ 家目录
/ 根目录
xxx 其他目录名称
  • 在输入首字母后按tab可以进行自动补全 多按几次tab会出现以首字母开头的所有文件或者目录名称

基本指令

  • ifconfig 查看ip地址
    [Linux]__基本操作指令___第1张图片
  • ssh + IP地址 登录一台远端机器,主要用于在Xshell上链接虚拟机。
  • man + 基本操作指令 可以召唤用户手册,查看这条指令的所有用法,在忘记一些指令的扩展用法的时候非常有用。

    1. 在 man 手册内按 q 可以退出man手册。
    2. 在 man 手册内使用pgup pgdn可以进行翻页。
  • ls 显示当前目录下的文件夹

    • ls -a 显示隐藏文件
  • ll 如果用man手册查询会发现没有这个指令,其实这是ls -l的一个别名,效果和ls -l一样,都可以显示该目录下文件夹的详细信息。
    • ll home/ 相当于 ll ./home/
    • ll -rt 按时间进行反向排序
    • ll -t 按时间进行正向排序
    • ll -art 连着隐藏文件一起按时间进行反向排序
    • ll * 关键字 在这里是通配符,有点类似数据库里的模糊查询,这样查找的结果是所有名称里带有 关键字 的文件。
  • pwd 查看当前的路径,得到的是绝对路径哦!


    ** 那么问题来了:**什么是绝对路径,什么是相对路径呢?
    如果输入pwd指令,得到的一般是:/xxxx/xxxxxx,就是以/开头的就是*绝对路径*。
    相对的,以.开头的路径就是*相对路径*。
    (不知道这样理解有没有错,就暂且先这么认为吧!)
    

  • cd + 路径 可以去到路径所指向的地方哦,即进入某文件夹或者进入某级目录。


        **那么问题又来了:**小伙伴们知道怎么在Linux环境里进行复制和粘贴吗?
        这里不再是单纯的ctrl+c或者ctrl+v了!
        而是复制:ctrl+insert,粘贴:shift+insert。
        请牢记快捷键!  
    

    • cd .. 回到当前目录的上级目录。
    • cd . 当前目录。
    • cd ~ 回到家目录。
    • cd - 单纯的返回。
    • cd 单单执行一个cd就是回到家目录 。

      • touch + 文件名 创建文件。
  • mkdir + 目录名 创建目录。
  • rm + 名称 删除文件
  • rm -r 删除目录(-r代表递归的删除)。
  • rm -i -r / rm -ir 删除之前进行询问。
  • rm -r -f / rm -rf 强制删除。
  • rmdir 只能删除空目录


    删除后不可恢复!有风险!请谨慎操作!
    

  • mv xx oo 移动,其中xx为源,oo为目标。即将xx文件移动到oo目录下。

  • mv xx oo 重命名,和移动有差距,这里xx是旧文件名,oo是新文件名。即将xx改名为oo。


    **那么问题又又又来了:**刚刚我们已经知道了,删除有风险,操作需谨慎,那么为了防止我们误操作,我们应该怎样合理的删除文件呢?
    在这里,我们建议可以利用mv指令,将要删除的文件移动到一个专门存放被删除文件的地方,如果一旦发现删除错误,就再mv回原来的位置,就可以保护我们的文件啦!  
    

    • cp xx oo 拷贝,这里的xx是需要拷贝的文件,oo是拷贝后的文件所存放的地方。
    • cp xx mydir/oo 即:将xx文件拷贝一份放着mydir文件夹下,名为oo。
    • cp mydir1 mydir2 -r 即:将mydir1目录拷贝一份,名为mydir2。
    • cat + 文件名 可以查看文件中的内容
    • tac + 文件名 可以反着一行一行显示文件中的内容(??????)。
    • echo 打印
      • echo woaichirou > test.c 将woaichirou输出显示到文件test.c中,其中 > 为重定向符号,可以理解为一个箭头,将一串内容输入到一个文件中。
      • echo “” 可以换行输入
        [Linux]__基本操作指令___第2张图片
    • more 查看更多。如果文件太多页显示不下可以使用。
    • less 查看更少。(一般好像会默认打印前10行)。
    • head 从头开始打印
      • head -n + 数字 + 文件名 选择打印文件的前多少行,行数为输入的数字。
    • tail 从尾部开始打印
      • tail -n + 数字 + 文件名 选择打印文件的倒数多少行,行数为输入的数字。
    • | 管道。一边连接前一个指令的标准输出,后接另一个指令的标准输入


      **那么问题又又又又来了:**如果我只想打印某一文件内的第5行,应该怎么做呢?  
      

      [Linux]__基本操作指令___第3张图片

    • date 查看时间
      • date +%s 查看时间戳
      • date -d”@时间戳” 利用时间戳得到时间
      • date +”%Y%m%d / %Y:%m:%d / %Y_%m_%d” 得到年月日 / 年:月:日 / 年_ 月 _ 日
        [Linux]__基本操作指令___第4张图片
    • cal 打印当前月的日历

    [Linux]__基本操作指令___第5张图片

  • find -name + 文件名 查找该文件的目录,默认从当前路径查找。如果不知道大致的路径,可以先进行cd / 后在使用find指令,在全局范围内搜索。
  • grep + 要查找字符串 + 路径
    • 文件路径写 * / *可以表示在当前任意目录下查找任意类型的文件。
    • -n 显示行号。
    • -i 忽略大小写。
    • -v 反向查找。
    • grep “ccc” -R mydir/* 递归的查找。

  • zip mydir.zip -r mydir/ mydir.zip是生成的压缩包名,-r 因为是打包的是文件夹和目录所以需要-r,mydir即为需要被打包的目录。
  • tar 功能和zip差不多,但是更加复杂,如果遇到了后缀是tar则需要这种方式。是不打开包,直接查看内容。

    • -c 建立一个压缩文件的参数指令(create的意思)。
    • -x 解开一个压缩文件的参数指令。
    • -t 查看tarfile里面的文件。
    • -z 是否同时具有gzip的属性?亦即是是否需要用gzip压缩?
    • -j 是否同时具有bzip2的属性?亦即是是否需要用bzip2压缩?
    • -v 压缩的过程中显示文件?这个常用,但不建议在背景执行过程。
    • -f 适用档名,请留意,在f之后要立即接档名,不能再加参数。
    • -C 解压到指定目录。
  • bc 计算器。

  • Python 也可以进行计算。
  • uname 获取电脑和操作系统的信息

    • -a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
  • ctrl+c 让当前程序停掉。

  • ctrl+d 键盘输入结束(end of file,EOF或者end of input)的意思,另外,他也可以用来取代exit。
  • history 查看历史指令。
  • ctrl+R 输入关键字,可以查看上一条带有关键字的指令。
  • file 后面加上文件名,可以查看这是一个什么类型的文件。例如可以判断是否为可执行文件。
  • shutdown 关机。
    • -h 将系统的服务停掉之后,立即关机。
    • -r 在将系统的服务停掉之后,就重新启动。
    • -t sec -t后面加秒数,即在几秒以后关机。

扩展命令

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • 文件处理命令:file、mkdir、grep、dd、find、find、mv、ls、diff、cat、ln;
  • 系统管理相关命令:df、top、free、quata、at、lp、adduser、groupadd、kill、crontab;
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;
  • 系统安全相关命令:password、su、usamk、chgrp、chmod、chown、chattr、sudo ps、who;
  • 其他命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uuencode。

shell命令及运行原理

[Linux]__基本操作指令___第6张图片

  • 定义:命令解释器(command interpreter):
    • 将使用者的命令翻译给核心处理。
    • 同时,将核心的处理结果翻译给使用者。

linux权限的概念

  • 两种用户:

    • # root(超级用户):可以在Linux系统下做任何事,不受限制。
    • $ 普通用户:在Linux下做有限的事情。

    • su 切换用户

      • su root/su 切换到超级用户。
      • su user 切换到普通用户。
  • 文件访问者的分类:

    • 文件所有者:u-user
    • 文件所有者所在组的用户:g-group
    • 其他用户:o-others

    • 文件访问权限的种类:

      1. r read,读
      2. w write,写
      3. x execute,可执行
        • 不具有权限

[Linux]__基本操作指令___第7张图片

Linux表示 说明
r– 只读
-w- 仅可写
–x 仅可执行
rw- 可读可写
-wx 可写可执行
r-x 可读可执行
rwx 可读可写可执行
不可读不可写不可执行

权限符号(读写执行) 八进制 二进制
r 4 100
w 2 010
x 1 001
rw 6 110
rx 5 101
wx 3 011
rwx 7 111
0 000
  • chomd 设置文件的访问权限

    • chmod -x a.out 去掉a.out的可执行权限,该文件将不可执行。
    • 可执行要求:
      1. 文件格式:ELF
      2. 文件具有可执行权限
    • chmod +r a.c 给a.c文件加上可读权限。
    • chmod u-r/g-r/o-r a.c 给a.c文件所有者/去掉可读权限。
    • chmod 777 a.c 给文件a.c所有可执行文件。
    • chmod 666 a.c 去掉文件a.c所有可执行权限。
  • chown 修改文件的拥有者。

  • chgrp 修改文件或目录的所属组。
  • 粘滞位 chomd +t a.c 添加粘滞位。有粘滞位的文件只能由:1.超级管理员删除。2.该目录的所有者删除。3.该文件的所有者删除。

         关于权限的总结:
         1. 目录的可执行权限是表示你可否在目录下执行命令。
         2. 如果目录没有-x权限,则无法对目录指向任何命令,甚至无法cd进入目录,即使目录仍然有-r读权限。
         3. 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。
         4. 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
    

[Linux]__基本操作指令___第8张图片

你可能感兴趣的:(Linux.)