Linux

七 Linux实用指令

在Linux系统中预设了七个运行级别分别为0(关机)、1(单用户模式)、2(多用户无网络服务)、3(多用户网络服务)、4(保留级别)、5(图形化界面)、6(系统重启)。

  • 运行级别的配置文件为/etc/inittab,常用的运行级别为3和5.可以使用指令查看默认的运行级别——systemctl set-default TARGET.targetsystemctl get-default
  • 切换到指定的运行级别
    init [0123456],一般来说运行级别不为0或者6,否则系统将关机或者重启。该指令不能在远端修改,只能在服务器本地完成。

在Linux系统中存在一些帮助指令,可以帮助使用人员更好的使用指令

  • man [命令或者配置文件],可以获得帮助信息
  • help [命令],可以获取帮助指令

Linux中一切皆文件,当然也预设了很多帮助我们操作文件或者目录的指令

  • pwd,用于显示当前工作目录的绝对路径

  • ls [选项] [目录或文件],用于显示当前目录下的文件,常用参数有-a-l

  • cd [参数] 目录,表示切换到指定的目录(change directory)。特别的,cd ~或者cd表示为回到自己的家目录

  • mkdir [选项] 目录,表示创建新目录。使用参数-p为创建多级目录,如mkdir -p a/b/c/d

  • rmdir [选项] 目录,表示删除指定的空目录

  • touch 文件名,用于创建空文件。

  • cp [选项] cource dest,拷贝文件到指定目录,如cp a.txt b/。使用参数-r表示递归复制文件夹下的所有内容,如cp -r a/ b/。当目标目录下有相同的文件时会提示是否覆盖,可以使用\cp来强制复制。

  • rm [选项] 文件夹或者目录,用于删除文件或者目录。常用参数有-r-f

  • mv source dest,该指令用于移动文件夹或者目录(move),当然也可以用于重命名文件或目录,如mv a.txt b.txt

  • cat [选项] 文件,用于只读打开文件。使用参数-n可以只读时显示行号。经常与管道指令和more一同使用cat a.txt | more

  • more,该指令是基于vi编辑器的文本过滤器,将会以全屏幕的方式按页显示。内置快捷键如q=:f

  • less,该指令用于分屏查看文件内容,功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示内容时不会一次性加载整个文件,而是根据需要加载内容,对大型文件的显示效率很高。

  • >>>>指令为输出重定向指令,会将原来的文件内容覆盖;>>为输出追加指令,可以追加到文件内容的末尾。如cat a.txt >> log.outls -la > list.txt

  • echo [选项] [输出内容],该指令会输出内容到控制台,可以与>>等指令一同使用。如echo "你们好" >> hello.txt
    需要注意的是,在linux系统中有一个特殊的指令字符!,在使用该字符时会被当做历史命令行替换来处理,因此在使用的时候不能使用双引号来引入,需要使用单引号,如echo 'hello!' > hello.txt
    !指令在linux中有很多奇妙的作用,逻辑非为常用功能,如rm !(*.conf)。还有历史命令行替换的功能,如!!!1024!-5

  • head [-n] 文件名,该指令用于显示文件开头部分的内容,默认情况下会显示文档前十行的内容,使用-n表示显示文件前n行的内容。

  • tail [选项] 文件名tail指令用于输出文件末尾的内容,默认情况下会显示文件末尾10行的内容。该指令在查看日志或者输出信息时非常常用,可以使用参数-f或者-F来实时追踪文件的所有更新。
    需要注意的是,在使用vi/vim对文件进行更新时,会发现tail -f指令失效,这是因为vim编辑的原理是先将原文件删除,将编辑内容存入到swap文件中后进行覆盖。因此实际上经过vim编辑的文件已经不是原来的文件了,故tail -f会失效。但是使用tail -F就可以解决这个问题,该参数可以使tail指令对vim/vi/echo等有效

  • ln -s [原文件或者目录] [软连接名],该指令用于创建文件的软连接。软链接也叫符号链接,类似于windows中的快捷方式(当然与快捷方式还是有区别的),主要存放了其他文件的路径。当使用pwd指令时,仍然会看到软连接所在的目录。

  • history nhistory指令用于查看已经执行过的历史命令,也可以用!执行历史命令。如history 10查看历史执行的10条命令,!1001用于执行编号为1001的历史命令

Linux中包含的一些关于时间日期的指令有:

  • date,该指令用于显示当前时间,可以使用+%Y-%m-%d %H:%M:%s等给予时间格式
  • date -s,该指令还可以用于设置时间,使用参数-s,就可以设置当前系统时间,如date -s "2018-10-10 11:22:12";
  • cal [选项] (0~9999),日历指令,可以查看年月日历

在Linux中的搜索查找指令

  • find [搜索范围] [选项]
    find指令将从指定的目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示出来。

    • find [搜索范围] -name <文件名>,表示将按照指定的文件名查找模式查找文件,如find /home -name hello.txt
    • find [搜索范围] -user <用户名>,表示将按照文件所有者的查找模式查找属于该用户的所有文件,如find /home -user xiaohu
    • find [搜索范围] -size <文件大小>,表示将按照文件大小查找文件,如find /home -size +20M(表示查找大于20M的文件)
  • locate 文件名
    locate指令可以快速的定位文件的路径,它利用事先建立的系统中所有文件名称和路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度很快。但是为了保证查询结果的准确性,必须定时更新locate数据库
    由于该指令基于数据库查询,因此在第一次运行前,必须使用updatedb指定创建locate数据库
    updatedb——>lcoate hello.txt

  • grep和管道符号|
    grep指令用于过滤查找,管道指令表示将前一个命令的执行结果输出传递给后面的指令进行处理

    • grep -n表示用于显示匹配行及行号
    • grep -i表示忽略字母大小写
      cat hello.txt | grep -ni yesls -la | grep ^d

Linux系统中提供了很多指令用于压缩解压或者打包文件

  • gzipgunzip
    gzip 文件,只能将文件压缩为*.gz文件,当使用了该指令后不会保留原来的文件
    gunzip 文件.gz,表示将压缩文件解压,当使用该指令后不会保留原有的压缩文件
  • zipunzip
    该指令常用于项目打包,(使用如zip bajie.zip bajie.txt)常用参数有zip -r 目录,表示压缩目录;unzip -d 目录,表示指定解压到该目录下
  • tar
    tar指令是打包指令,需要使用一些参数完成打包解包,最终打包完成的文件为*.tar.gz。语法格式为tar [选项] xxx.tar.gz 打包内容

    • tar -c该参数表示产生.tar打包文件
    • tar -z表示使用gzip或者gunzip提供支持
    • tar -f表示指定压缩后的文件名
    • tar -v表示显示详细信息
    • tar -x表示解包.tar文件,-C表示为解包指定目录
    • 压缩多个文件为a.tar.gz
      tar -zcvf a.tar.gz a.txt b.txt
    • 将目录打包压缩
      tar -zcvf home.tar.gz /home/
    • 将包解压到当前目录下
      tar -zxvf a.tar.gz
    • 将包解压到指定目录下
      tar -zxvf a.tar.gz -C /home/home1(注意,在使用-C时目标目录必须存在,否则会失败)

八 组管理和权限管理

在Linux系统中,每个用户必须属于一个组,不能独立于组外。每个文件都有文件所有者、所在组、其他组的概念。

  • 所有者
    文件或者目录的所有者一般为文件的创建者,创建该文件的人自然就成为了该文件的所有者。使用ls -la可以查看文件的所有者,使用root权限chown 用户名 文件名指令可以修改文件所有者。
  • 所在组
    同样的,使用ls -la可以查看文件的所在组,使用chgrp 组名 文件名可以修改文件的所在组。
  • 其他组
    除文件所有者和所在组的用户外,系统其他的用户都是文件的其他组
    在添加用户时,可以使用-g参数指定将用户添加到某个组中。同样的也可以使用root权限和指令usermod -g 用户组 -d 用户初始目录来改变用户的所在组


如上图所示,在Linux系统中,每个文件都有着自己的权限。使用ls -l指令即可以获取到文件或者目录的权限信息。以wukong文件夹为例,进行介绍

  • drwxrwx---

    • 该串第0位用于确定文件的类型,文件类型共有五种

      • d,表示当前文件为目录
      • -,表示当前文件为普通文件
      • /,表示当前文件为软连接
      • c,表示当前文件为字符设备(键盘鼠标等)
      • b,表示当前文件为块文件、硬盘等
    • 1-3位用于确定文件所有者的权限
    • 4-6位用于确定文件所有组用户的权限
    • 7-9位用于确定其他组用户所有的权限
  • 5 wukong moster 175
    • 数字5用于表示该文件的硬链接个数,如果是目录的话则表示该目录下子目录的个数
    • wukong表示该文件的所有者为用户wukong
    • monster表示该文件的所在组为组monster
    • 数字175表示文件的大小,如果是文件是目录则该数字上限为4096
  • rwx意义解释
    rwx可以用数字代替,r为4,w为2,x为1。故rwx加和为7。

    • rwx作用于文件时

      • r表示读取查看权限
      • w表示修改权限,但这并不意味着可以删除该文件。删除一个文件的权限前提是对该文件所在目录拥有修改权限
      • x表示execute,即拥有对该文件的执行权
    • rwx作用于目录时
      • r表示读取查看权限,即可以ls查看目录内容
      • w可以修改、删除、创建、重命名目录内的文件内容
      • x表示execute,即可以进入该目录

在Linux中还可以通过很多指令修改文件的权限、所有者等信息,这就涉及到文件的权限管理了。

  • 使用chmod修改文件或者目录的权限

    • 可以使用+-=来修改(但是比较繁琐,不建议使用)
      chmod u=rwx g=rx o=x 文件目录名(u为user g为group o为other)
    • 还可以通过数字修改权限
      chmod 777 文件目录名(相当于修改为rwxrwxrwx
  • 修改文件的所有者
    使用chown newowner file来对文件的所有者进行修改,使用chown -R对目录下的所有文件进行递归修改
  • 修改文件所在组
    使用chgrp newgroup file对文件的所在组进行修改

Linux学习(二)相关推荐

  1. Linux配置协同工作目录,Linux学习二:文件权限与目录配置

    Linux文件权限 ls指令可查看当前目录下的所有文件及文件夹,ls -al可以展示所有文件夹得详细属性. 其中,第一列为文件类型与权限 如图所示: 第一个字符代表这个文件是『目录.文件或链接文件等等 ...

  2. Linux学习(二)--远程登录Linux系统

    文章目录 Linux学习--远程登录Linux系统 一.明白为什么我们需要远程登入Linux系统? 二 .Xshell的介绍 三.Xftp5介绍 Linux学习–远程登录Linux系统 一.明白为什么 ...

  3. Linux学习笔记(二)|常用命令

    Linux学习笔记(二)常用命令 1.文件处理命令 1.1命令格式与目录处理 -ls 功能描述:显示目录文件 原意:list 所在路径:/bin/ls 语法: ls-a 显示所有文件,包括隐藏文件 l ...

  4. Linux学习之CentOS(二)--初识linux的一些常用命令

    Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...

  5. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  6. Linux学习之CentOS(二十九)--Linux网卡高级命令、IP别名及多网卡绑定

    本篇随笔将详细讲解Linux系统的网卡高级命令.IP别名以及Linux下多网卡绑定的知识 一.网卡高级命令 在之前的一篇随笔里Linux学习之CentOS(九)--Linux系统的网络环境配置,详细讲 ...

  7. LINUX学习基础篇(十二)痕迹命令

    LINUX学习基础篇(十二)痕迹命令 系统痕迹命令 w命令 who命令 last命令 lastlog命令 lastb命令 系统痕迹命令 系统中有一些重要的痕迹日志文件,如/var/log/wtmp./ ...

  8. Linux学习笔记(二十三) -- QT的安装和卸载

    1.QT简介 Qt 是一个跨平台C++图形用户界面应用程序开发框架.它可以用来开发GUI程序和非GUI程序(比如控制台工具和服务器). 2.QT安装 使用如下命令: sudo apt-get inst ...

  9. 【Linux】Linux学习(三)常用基本命令(二)

    Linux学习(三)常用基本命令(二) crontab 系统定时任务 crontab 服务管理 crontab 定时任务设置 RPM软件包管理 RPM概述 RPM查询命令 RPM卸载命令 RPM安装命 ...

  10. linux 进程调度 内存,linux学习的任督二脉-进程调度和内存管理

    转自 宋宝华老师的博客 原文:https://blog.csdn.net/21cnbao/article/details/77505330 内功心法 学习或遇到问题时,反过来主动思考如果我是设计者,我 ...

最新文章

  1. python判断文件是否存在、不存在则创建_python判断文件是否存在,不存在就创建一个的实例...
  2. NetAug(网络增强)—Dropout的反面
  3. hdoj 1728 逃离迷宫
  4. 机器学习基础-线性代数学习
  5. memcached构建高性能web应用
  6. python爬取美女图片
  7. 个性签名html,经典个性签名-2021最新QQ经典-QQ经典个性签名-腾牛个性网
  8. 【微信退款】Java实现微信APP退款和JSAPI退款流程
  9. 微信个人好友增加到10000人啦!
  10. SpringBoot的幕后推手,五年Java开发者小米、阿里面经
  11. SQLServer将日期转换成字符串格式
  12. 蓝桥杯泊松分酒java_蓝桥杯-泊松分酒 - steven_wjg的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. 《炬丰科技-半导体工艺》氧化铝陶瓷基板上的紫外激光微加工和化学蚀刻
  14. 您的推特营销选对群控了吗
  15. 教你winscp使用教程
  16. “鬼影”病毒疑“躲猫猫”避风,金山发专杀工具施救
  17. Tomcat服务器修改网站显示图标
  18. pdf转化成图片格式
  19. ABAP-串口通信-道闸设备
  20. 计蒜客 T1895切蛋糕(单调队列)

热门文章

  1. 我听歌用 foobar2000 V.1.18 + autolyric 歌词同步
  2. ldd3学习之七:中断处理
  3. 《营销管理必读12篇》读书小记
  4. MCU电路设计的电源开关电路
  5. UNetbootin 制作Live USB
  6. 软件测试行业到底有没有前景和出路?
  7. kotlin-stdlib_使用Kotlin stdlib使您的生活更轻松
  8. 怎么将pdf转换为cad格式呢?
  9. 发那科机器人回原位置先上升_发那科机器人:参考位置设定方法
  10. IPU Saved Model Tool 异常处理