输入关键词开始搜索

小视频笔记(一)

7023 字 约 18 分钟

看的小视频,好早以前的,了解下Linux基础。

1.Linux系统简介 ​

1.1.1 UNIX发展历史和发行版本 ​

历史简介:

  • 1965 年,美国麻省理工学院( MIT )、通用电气公司( GE )及 AT & T 的贝尔实验室联合开发 Multies 工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因 MulticS 追求的目标过于庞大复杂,项目进度远远落后于计划,最后贝尔实验室宣布退出。
  • 1969 年,美国贝尔实验室的肯 · 汤普森在 DEC PDP 一 7 机器上开发出了 UNIX 系统。
  • 1971年,肯·汤普森的同事丹尼斯·里发明了C语言;1973年,UNIX系统的绝大部分源代码用C语言重写,这为提高UNIX系统的可移植性打下基础。

发行版本:

操作系统公司硬件平台
AIXIBMPowerPC
HP-UXHPPA-RISC
SolarisSunSPARC
LinuxRed HAt、Ubuntu...IA(Intel、ADM...)

1.1.2 Linux发展历史和发行版本 ​

​ Linux系统诞生于1991年,由芬兰大学生李纳斯(LinusTorvalds)和后来陆续加入的众多爱好者共同开发完成。 Linux是开源软件,源代码开放的UNIX。

  • Linux内核官网:www.kernel.org

  • Linux主要发行版本:RedHat、CentOS、SuSE、fedora、gentoo linux、Mandriva、turbolinux、红旗、 debian、ubuntu、KNOPPIX

2.Linux系统安装 ​

2.1 VMware虚拟机安装与使用 ​

VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统。

VMware官方网站 www.vmware.com

VMware主要特点:

  • 不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统
  • 本机系统可以与虚拟机系统网络通信
  • 可以设定并且随时修改虚拟机操作系统的硬件环境

VMware建议配置:

  • CPU:建议主频1GHz以上
  • 内存:建议1GB以上
  • 硬盘:建议分区空闲空间8GB以上

2.2 安装 ​

安装欢迎界面

  • Install or upgrade an existing system : 安装或升级现有系统
  • Install system with basic video driver: 安装过程采用基本的显卡驱动
  • Resuce install system : 进入系统修复模式
  • Boot from local deive : 退出安装从硬盘启动
  • Memory test :存储介质检测

软件包选择

  • Desktop(桌面)
  • Minimal Desktop(最小化桌面)
  • Minimal(最小化)
  • Basic Server(基本服务器)
  • Database Server (数据库服务器)
  • Web Server(网页服务器)
  • Virtual Host(虚拟主机)
  • software development workstation(软件开发工作站)

安装日志

  • /root/install.log : 存储了安装在系统中的软件包及其版本信息
  • /root/install.log.syslog : 存储了安装过程中留下的事件记录
  • /root/anaconda-ks.cfg : 以Kickstart配置文件的格式记录安装过程中设置的选项信息

3.初学建议 ​

3.1 注意事项 ​

  1. Linux严格区分大小写

  2. Linux中所有内容以文件形式保存,包括硬件

    • 硬盘文件是/dev/sd[a-p]
    • 光盘文件是/dev/srO等

3.2 Linux各目录的作用 ​

在终端运行ls /可看到如下内容:

shell
[mcee@mcee ~]$ ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

树状目录结构: ​

文章配图

树状目录结构解释: ​

  • /bin/

    • bin是Binary的缩写, 这个目录存放着最经常使用的命令。
    • 存放系统命令的目录,普通用户和超级用户都可以执行。不过,放在/bin下的命令在单用户模式下也可以执行。
  • /sbin/

    • s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看。
  • /usr/bin/

    • 系统用户使用的应用程序。
    • 存放系统命令目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行。
  • /usr/sbin/

    • 超级用户使用的比较高级的管理程序和系统守护程序。
    • 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。大家其实可以注意到Linux的系统,在所有“sbin” 目录中保存的命令只有超级用户可以使用,“bin”目录中保存的命令所有用户都可以使用。
  • /boot/

    • 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
    • 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等。
  • /dev/

    • dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    • 设备文件保存位置。Linux中所有内容以文件方式保存,包括硬件。这个目录就是用来保存所有硬件设备文件的。
  • /etc/

    • 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    • 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务的配置文件都保存在这个目录中,如用户账户和密码、服务的启动脚本、常用服务的配置文件等。
  • /home/

    • 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • 普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置,这个位置就是用户的家目录,所有普通用户的家目录就是在/home下建立一个和用户名相同的目录。
  • /lib/

    • 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    • 系统调用的函数库保存位置
  • /lost+found/

    • 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区的备份回复目录;/bootlost+found就是/boot分区的备份恢复目录
  • /media/

    • linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    • 挂载目录。系统建议用户挂载媒体设备的,例如软盘和光盘
  • /mnt/

    • 系统提供该目录是为了让用户临时挂载别的文件系统的,可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    • 挂载目录。早起Linux中只有这一个挂载目录,并没有细分。现在这个目录系统建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区
  • /misc/

    • 挂载目录。系统建议用来挂载NFS服务的共享目录。
  • /opt/

    • 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    • 第三方安装的软件保存位置。这个目录就是放置和安装其他软件的位置,手工安装的源码包软件都可以安装在这个目录中。
    • 安装在/usr/local/中挺好的,可以不安装在这里,习惯问题
  • /proc/

    • 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

      shell
      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    • 虚拟文件系统。该目录中的数据并不保存在硬盘中,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态灯。如/proc/cpuinfo是保存CPU信息的、/proc/devices是保存设备驱动的列表的、/proc/filesystems是保存文件系统列表的、/proc/net/是保存网络协议信息的

  • /sys/

    • 虚拟文件系统。和/proc目录相似,都是保存在内存当中的,主要是保存内核相关信息的
  • /root/

    • 该目录为系统管理员,也称作超级权限者的用户主目录。
  • /srv/

    • 该目录存放一些服务启动之后需要提取的数据。
    • 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
  • /tmp/

    • 这个目录是用来存放一些临时文件的。
    • 临时目录。系统存放临时文件的目录,该目录下所有用户都可以访问和写入。
  • /usr/

    • 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
    • 系统软件资源目录。是“Unix Software Resource”的缩写,所以存放系统软件资源的目录。系统中安装的软件大多数保存在这里。
  • /usr/src

    • 内核源代码默认的放置目录
  • /var/

    • 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件。

其他 ​

​ 在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

3.3 服务器注意事项 ​

  1. 远程服务器不允许关机,只能重启
  2. 重启时应该关闭服务
  3. 不要在服务器访问高峰运行高负载命令
  4. 重启时应该关闭服务
  5. 制定合理的密码规范并定期更新
  6. 合理分配权限
  7. 定期备份重要数据和日志

4.常用命令 ​

4.0 命令格式与目录处理命令ls ​

命令格式: 命令 -选项 [参数]

​ 例:ls -la /etc

说明:

    1. 个别命令使用不遵循此格式
      2. 当有多个选项时,可以写在一起
        3. 简化选项与完整选项-a 等于 --all

ls ​

名称说明
命令名称ls
原意list
所在路径/bin/ls
执行权限所有用户
功能描述显示目录文件
语法ls 选项 [-aldih] [文件或目录]

选项说明:

​ -a 显示所有文件,包括隐藏文件

​ -l 详细信息显示

​ -d 查看目录属性

​ -i 选项是查看文件的i节点,系统中每个文件都有自己唯一的i节点犹如每个人的身份证号

​ -h 选项是人性化显示信息

ls打印文件含义:

文章配图

-rw-r--r—含义:

  • 第一个- 文件类型(- 文件 d 目录 l 软链接文件),然后每三个为一组rw- r-- r—分别表示u所有者 g所属组 o其他人的权限,r读 w写 x执行;
    • 之后的含义依次是: 文件计数、所有者、所属组、文件大小、文件最后修改时间、文件名

4.1 文件处理命令 ​

4.1.1 目录处理命令 ​

mkdir ​

名称说明
命令名称mkdir
原意make directories
所在路径/bin/mkdir
执行权限所有用户
功能描述创建新目录
语法mkdir -p [目录名]

选项说明:

​ -p 递归创建

范例:

shell
$ mkdir -p /tmp/Japan/boduo

$ mkdir /tmp/Japan/longze /tmp/Japan/cangjing

cd ​

名称说明
命令名称cd
原意change directory
所在路径shell内置命令
执行权限所有用户
功能描述切换目录
语法cd [目录名]

范例:

shell
$ cd /tmp/Japan/boduo 切换到指定目录
$ cd .. 回到上一级目录

pwd ​

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

rmdir ​

名称说明
命令名称rmdir
原意remove empty directory
所在路径/bin/rmdir
执行权限所有用户
功能描述删除空目录
语法rmdir [目录名]

范例:

shell
$ rmdir /tmp/Japan/boduo

cp ​

名称说明
命令名称cp
原意copy
所在路径/bin/cp
执行权限所有用户
功能描述复制文件或目录
语法cp -rp [原文件或目录][目标目录]

选项说明:

​ -r 复制目录

​ -p 保留文件属性

范例:

shell
#将目录/tmp/Japan/cangjing复制到目录/root下
$ cp -r /tmp/Japan/cangjing /root

#将/tmp/Japan目录下的boduo和longze目录复制到 /root下,保持目录属性
$ cp -rp /tmp/Japan/boduo /tmp/Japan/longze /root

mv ​

名称说明
命令名称mv
原意move
所在路径/bin/mv
执行权限所有用户
功能描述剪切文件、改名
语法mv [原文件或目录][目标目录]

rm ​

名称说明
命令名称rm
原意remove
所在路径/bin/rm
执行权限所有用户
功能描述剪切文件、改名
语法mv -rf [文件或目录]

选项说明:

​ -r 删除目录

​ -f 强制执行

范例:

shell
#删除文件/tmp/yum.log
$ rm /tmp/yum.log

#删除目录/tmp/Japan/longze
$ rm -rf /tmp/Japan/longze

4.1.2文件处理命令 ​

touch ​

名称说明
命令名称touch
原意touch
所在路径/bin/touch
执行权限所有用户
功能描述创建空文件
语法touch [文件名]

范例:

shell
$ touch Japanlovestory.list

cat ​

名称说明
命令名称cat
原意concatenate
所在路径/bin/cat
执行权限所有用户
功能描述显示文件内容
语法cat [文件名]

选项说明:

​ -n 显示行号

tac ​

名称说明
命令名称tac
原意
所在路径/bin/tac
执行权限所有用户
功能描述显示文件内容(反向列式)
语法tac [文件名]

more ​

名称说明
命令名称more
原意
所在路径/bin/more
执行权限所有用户
功能描述分页显示文件内容
语法more [文件名] (空格)或f翻页,(enter)换行 q或Q退出

less ​

名称说明
命令名称less
原意
所在路径/usr/bin/less
执行权限所有用户
功能描述分页显示文件内容(可向上翻页)
语法less [文件名]

使用“/”+搜索的关键词可以把所查看的文件中的关键字变为高亮 按“n”(next)可以继续向下看

名称说明
命令名称head
原意
所在路径/usr/bin/head
执行权限所有用户
功能描述显示文件前面几行
语法head [文件名]

选项说明:

​ -n 指定显示行数 不加-n 参数默认显示10行

范例:

shell
$ head -n 20 /etc/services

tail ​

名称说明
命令名称tail
原意
所在路径/usr/bin/tail
执行权限所有用户
功能描述显示文件后面几行
语法tail [文件名]

选项说明:

​ -n 指定行数

​ -f 动态显示文件末尾内容

范例:

shell
$ tail -n 18 /etc/services

4.1.3 链接命令 ​

ln ​

名称说明
命令名称ln
原意link
所在路径/bin/ln
执行权限所有用户
功能描述生成链接文件
语法ln -s [原文件][目标文件]

选项说明:

​ -s 创建软链接

范例:

shell
# 创建文件/etc/issue的软链接/tmp/issue.soft
$ ln -s /etc/issue /tmp/issue.soft

# 创建文件/etc/issue的硬链接/tmp/issue.hard
$ ln /etc/issue /tmp/issue.hard

软链接特征:

​ 类似Windows快捷方式

  • lrwxrwxrwx l 软链接 软链接文件权限都为rwxrwxrwx
  • 文件大小-只是符号链接
  • /tmp/issue.soft -> /etc/issue 箭头指向原文件

硬链接特征:

  • 拷贝cp -p + 同步更新 echo "this is a test" >> /etc/motd
  • 可通过i节点识别
  • 不能跨分区
  • 不能针对目录使用

4.2 权限管理命令 ​

4.2.1 权限管理命令:chmod ​

chmod ​

名称说明
命令名称chmod
原意change the permissions mode of a file
所在路径/bin/chmod
执行权限所有用户
功能描述改变文件或目录权限
语法chmod [{ugoa}{+-=}{rwx}][文件或目录][mode=421][文件或目录] -R 递归修改

权限的数字表示:r --- 4 w --- 2 x --- 1

范例:

shell
# 赋予文件testfile所属组写权限
$ chmod g+w testfile

# 修改目录testfile及其目录下文件为所有用户具有全部权限
$ chmod -R 777 testdir

删除一个文件,并不是看是否对这个文件具有写权限,而是对这个文件所在的目录具有写的权限,对文件具有写权限只是可以修改这个文件。

4.2.2 其他权限管理命令 ​

chown ​

名称说明
命令名称chown
原意change file ownership
所在路径/bin/chown
执行权限所有用户
功能描述改变文件或目录的所有者
语法chown [用户] [文件或目录]

范例:

shell
# 改变文件xiaoding的所有者为wangege
$ chown wangge xiaoding

chgrp ​

名称说明
命令名称chgrp
原意change file group ownership
所在路径/bin/chgrp
执行权限所有用户
功能描述改变文件或目录的所属组
语法chgrp [用户组][文件或目录]

范例:

shell
# 改变文件xiaoding的所属组为wangege
$ chown wangge xiaoding

umask ​

名称说明
命令名称umask
原意the user file-certain mask
所在路径shell内置命令
执行权限所有用户
功能描述显示、设置文件的缺省权限
语法umask [-S]

选项说明:

​ -S 以rwx形式显示新建文件缺省权限

范例:

shell
#创建文件的默认权限是
$ umask -S
u=rwx,g=rx,o=rx
  • Linux中默认新建的文件不具有可执行权限x,任何创建的文件,都会把可执行权限去掉;文件夹具有x。比如常见的病毒都是具有可执行权限的,如果不具有可执行权限,那么也就没什么意义了,在linux系统中,为了安全起见,默认创建的文件都不具有可执行权限。

    Shell
    $ mkdir test
    andyliudeMBP:tmp andy$ ls -ld test
    drwxr-xr-x  2 andy  wheel  68  3 30 16:47 test
    
    $ touch test.txt
    $ ls -ld test.txt
    -rw-r--r--  1 andy  wheel  0  3 30 16:48 test.txt
  • 直接执行umask得到0022 第一个0代表特殊权限,后面会介绍,再后面的022代表正常的权限,所有者、所属组和其他人的。这个权限很奇怪,写出来是----w--w-,但是其实不是这样的;第一个0表示特殊权限 后三位022叫做权限掩码值,777-022 =755是真正的权限即 rwxr-xr-x

    shell
    $ umask
    0022
  • 更改缺省权限:如更改为rwxr-xr—对应的值位754 权限掩码值位777-754即023,直接执行 umask 023 即可更改权限;可以修改,但并不建议这样修改,使用系统默认的755比较好

4.3 文件搜索命令 ​

find ​

名称说明
命令名称find
原意
所在路径/bin/find
执行权限所有用户
功能描述文件搜索
语法find [搜索范围][匹配条件]

范例:

  1. 根据文件名查找

    shell
    # 在目录/etc中查找文件init
    $ find /etc -name init
    
    # 搜索名字中有init的
    $ find /etc -name *init*
    
    # 所有以init开头并且结尾有三个字母的文件
    find /etc -name init???
    
    # *匹配所有字符 ?匹配单个字符
    
    # -iname 不区分大小写
    $ find /etc -iname init
    
    #在根目录下查找所有者为shenchao的文件 -group 根据所属组查找
    $ find /home -user shenchao
    
    #在/etc下查找5分钟内被修改过属性的文件和目录
    #-amin 访问时间 access -cmin 文件属性 change -mmin 文件内容 modify
    $ find /etc -cmin -5
  2. 根据文件大小查找

    Linux中数据的大小是数据块,一个数据块的大小是512字节即0.5K,那么100M的大小在linux中表示就是100M=102400KB=204800

    shell
       # 在根目录下查找大于100MB的文件
       # +n 大于 -n小于 n等于
    $ find / -size +204800
    
       # 在/etc下查找大于80MB小于100MB的文件 -a 两个条件同时满足 -o 两个条件满足任意一个即可
    $ find /etc -size +163840 -a -size -204800
  3. 根据文件类型查找和根据i节点查找

    shell
    # f 文件 d 目录 l 软链接文件
    
    # -inum 根据i节点查找
  4. 对操作结果执行

    shell
    # 在/etc下查找inittab文件并显示其详细信息 -exec/-ok 命令 {} \; 对搜索结果执行操作
    $ find /etc -name inittab -exec ls -l {} \;

注:

  • exec和ok的区别在于ok会询问是否;“{}”表示find查找的结果,“\”表示转义符,“;”表示结束,不要忘记加分号
  • find /etc -name init* -a -type f -exec ls -l {} ; 查找etc目录下以init开头并且类型为文件的数据,然后执行显示出来 exec后面可以做其他操作命令
  • find /tmp -name haha.txt -exec cp -rp {} /tmp ; 找到文件并移动到目标目录 。“{}”代表已经找到的东西。

locate ​

名称说明
命令名称locate
原意
所在路径/usr/bin/locate
执行权限所有用户
功能描述在文件资料库中查找文件
语法find [搜索范围][匹配条件]

可以使用locate loacte查找本身,其资料库在

shell
$ locate locate
/var/lib/mlocate/mlocate.db

由于是在资料库中查找文件,有些文件可能找不到,因为没有更新到资料库。测试在、tmp下创建文件locatetest.txt,这时可以使用updatedb手动更新(升级)资料库,使用之后还是找不到locatetest.txt,因为这个文件是存放在tmp目录下,找不到。

locate找到的 文件是区分大小写的,加“-i”可以不区分大小写。

which ​

名称说明
命令名称which
原意
所在路径/usr/bin/which
执行权限所有用户
功能描述搜索命令所在目录及别名信息
语法which 命令

范例:

shell
$ which rm
alias rm = 'rm -i'
	/bin/rm

其实在linux中操作文件是没有确认机制的,之所以有,是因为使用命令的时候,是使用的别名,会先去寻找真正的命令,真正的命令中有“-i”选项。

whereis ​

名称说明
命令名称whereis
原意
所在路径/usr/bin/whereis
执行权限所有用户
功能描述搜索命令所在目录及帮助文档路径
语法whereis [命令名称]

范例:

shell
$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

grep ​

名称说明
命令名称grep
原意
所在路径/bin/grep
执行权限所有用户
功能描述在文件中搜寻字串匹配的行并输出
语法grep -iv [指定字串][文件]

选项说明:

​ -i 不区分大小写

​ -v 排除指定字串

范例:

shell
grep base admin.php
require './thinkphp/base.php';

4.4 帮助命令 ​

man ​

名称说明
命令名称man
原意manual
所在路径/usr/bin/man
执行权限所有用户
功能描述获取帮助信息
语法man [命令或配置文件]

范例:

shell
# 查看ls命令的帮助信息
$ man ls
# 查看配置文件services的帮助信息
$ man services

注: info(information)命令与man大同小异,都可使用。

  • 查看配置文件,不需要加绝对路径

  • Linux中,查看帮助信息,帮助类型有很多种,一般情况下1是命令的帮助,5是配置文件的帮互助。

  • 查看帮助信息,例如查看passwd,有两个帮助信息,1和5,系统默认查看的是1,如果需要查看5,可自行声明

    shell
    $ whereis passwd
    passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
    shell
    $ man passwd
    PASSWD(1)                       User utilities                       PASSWD(1)
    
    NAME
           passwd - update user's authentication tokens
    
    SYNOPSIS
           passwd  [-k]  [-l]  [-u  [-f]]  [-d] [-e] [-n mindays] [-x maxdays] [-w
           warndays] [-i inactivedays] [-S] [--stdin] [username]
    
    DESCRIPTION
           The passwd utility is used to update user's authentication token(s).
      ...
    shell
    # 查看5的
    $ man 5 passwd

whatis ​

名称说明
命令名称whatis
原意
所在路径/usr/bin/whatis
执行权限所有用户
功能描述获取简短帮助信息
语法whatis [命令]

范例:

shell
$ whatis ls
	ls (1)               - list directory contents
$ whatis mv
	mv (1)               - move (rename) files
$ whatis ifconfig
	ifconfig (8)         - configure a network interface

apropos ​

名称说明
命令名称apropos
原意
所在路径/usr/bin/apropos
执行权限所有用户
功能描述获取简短配置文件信息
语法aprops [配置文件]

范例:

shell
$ apropos inittab
inittab 		(5) -init daemon configuration

help ​

名称说明
命令名称help
原意
所在路径Shell内置命令
执行权限所有用户
功能描述获得shell内置命令的帮助信息
语法help 命令

范例:

shell
# 查看umask命令的帮助信息
$ help umask

注:内置命令可通俗理解为找不到命令所在路径的命令,都是内置命令,这些内置命令不能使用man来查看帮助信息

4.5 用户管理命令 ​

useradd ​

名称说明
命令名称useradd
原意
所在路径/usr/sbin/useradd
执行权限所有用户
功能描述添加新用户
语法useradd 用户名

范例:

shell
$ useradd wangge

passwd ​

名称说明
命令名称passwd
原意password
所在路径/usr/bin/passwd
执行权限所有用户
功能描述设置用户密码
语法passwd 密码

范例:

shell
$ passwd wangge

who ​

名称说明
命令名称who
原意
所在路径/usr/bin/who
执行权限所有用户
功能描述查看登录用户信息
语法who

范例:

shell
$ who
mcee     tty1         2017-09-28 09:03
mcee     pts/0        2018-04-02 10:01 (andyliudembp)
mcee     pts/1        2018-04-02 10:07 (jies-mbp)

信息是: 登录用户 登录终端 登录时间 登录用户主机名

注: tty叫本地登录 pts叫远程终端 然后用不同的数字终端号来区分不同的终端

w ​

名称说明
命令名称passwd
原意password
所在路径/usr/bin/w
执行权限所有用户
功能描述查看登录用户详细信息
语法w

范例:

shell
$ w
 10:53:17 up 186 days,  1:50,  2 users,  load average: 0.03, 0.05, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mcee     tty1                      28Sep17 186days  0.78s  0.78s -bash
mcee     pts/0    andyliudembp     10:01    5.00s  0.14s  0.02s sshd: mcee [priv]
  • 第一行信息:系统时间 up是系统连续运行时间 3 users是当前在线用户数,load average是负载均衡指数:有三个数值,分别记录了系统在过去的1分钟、5分钟、15分钟负载值。
  • 之后的信息:
    • 登录用户 登录终端 登录主机ip 登录时间
    • IDLE:用户登录过来的空闲时间
    • JCPU :当前登录过来的用户执行的操作累计占用的cpu时间
    • PCPU:当前登录过来的用户执行的最近一次操作占用的cpu的时间
    • WHAT:执行了什么操作

4.6 压缩解压命令 ​

gzip ​

名称说明
命令名称gzip
原意GUN zip
所在路径/bin/gzip
执行权限所有用户
功能描述压缩文件,压缩格式.gz
语法gzip [文件]

范例:

shell
$ gzip test
gzip: test is a directory -- ignored
$ touch test.txt
$ gzip test.txt

注:gzip压缩之后,不保留源文件;gzip只能压缩文件,不能压缩目录

gunzip ​

名称说明
命令名称gunzip
原意GUN unzip
所在路径/bin/gunzip
执行权限所有用户
功能描述解压缩.gz的压缩文件
语法gunzip 文件.gz

范例:

shell
$ gunzip test.txt.gz

tar ​

名称说明
命令名称tar
原意
所在路径/bin/tar
执行权限所有用户
功能描述打包目录
语法tar 选项 [-zcf] [压缩后文件名] [目录]

选项说明:

​ -c 打包

​ -x 解压

​ -v 显示详细信息

​ -f 指定文件名

​ -z 打包同时压缩

​ -j 操作.bz2格式文件

范例:

shell
# 将目录Japan打包并压缩为.tar.gz
$ tar -zcf Japan.tar.gz Japan

zip ​

名称说明
命令名称zip
原意
所在路径/usr/bin/zip
执行权限所有用户
功能描述压缩文件或目录,压缩格式.zip,保留源文件
语法zip 选项[-r][压缩后的文件名][文件或目录]

选项说明:

​ -r 压缩目录

范例:

shell
# 压缩文件
$ zip buduo.zip boduo
# 压缩目录
$ zip -r Japan.zip Japan

unzip ​

名称说明
命令名称unzip
原意
所在路径/usr/bin/unzip
执行权限所有用户
功能描述解压.zip的压缩文件
语法zip [压缩文件]

范例:

shell
$ unzip test.zip

bzip2 ​

名称说明
命令名称bzip2
原意
所在路径/usr/bin/bzip2
执行权限所有用户
功能描述压缩文件,压缩格式.bz2
语法bzip2 选项[-k][文件]

选项说明:

​ -k 产生压缩文件后保留源文件

范例:

shell
$ bzip2 -k boduo
$ tar -cjf Japan.tar.bz2 Japan

bzip2压缩比很大,压缩比较大的文件时,很有效,和tar配合使用,类似于gzip

bunzip2 ​

名称说明
命令名称bunzip2
原意
所在路径/usr/bin/bunzip2
执行权限所有用户
功能描述解压缩
语法bunzip2 选项[-k][压缩文件]

选项说明:

​ -k 解压文件后保留源文件

范例:

shell
$ bunzip2 -k boduo.bz2
$ tar -xjf Japan.tar.bz2

bzip2压缩比很大,压缩比较大的文件时,很有效,和tar配合使用,类似于gzip

4.7 网络命令 ​

write ​

名称说明
命令名称write
原意
所在路径/usr/bin/write
执行权限所有用户
功能描述给用户发信息,以Ctrl+D保存结束
语法write <用户名>
范例# write linzhiling

wall ​

名称说明
命令名称wall
原意write all
所在路径/usr/bin/wall
执行权限所有用户
功能描述发送广播信息
语法wall [message]
范例# wall This is a test message.

ping ​

名称说明
命令名称ping
原意
所在路径/bin/ping
执行权限所有用户
功能描述测试网络连通性
语法ping 选项[-c] IP地址

选项说明:

​ -c 指定发送次数

范例:

shell
$  ping -c 5 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.065 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.034 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.082 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.074 ms

--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.022/0.055/0.082/0.024 ms

ifconfig ​

名称说明
命令名称ifconfig
原意interface configure
所在路径/sbin/ifconfig
执行权限root
功能描述查看和设置网卡信息
语法ifconfig 网卡名称 IP地址

范例:

shell
$ ifconfig
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.115  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::d0b1:533e:a82c:99e  prefixlen 64  scopeid 0x20<link>
        ether f4:8e:38:c1:df:ba  txqueuelen 1000  (Ethernet)
        RX packets 676670130  bytes 441920618068 (411.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 496246515  bytes 118705907935 (110.5 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 306661425  bytes 72938709575 (67.9 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 306661425  bytes 72938709575 (67.9 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

注:

  • lo 表示回环网卡,用于本机的测试和通信

  • Link encap:Ethernet 网络类型:以太网

  • HWaddr 网卡的硬件地址(物理地址)即MAC地址 16进制保存的18位的地址

  • Inet addr: 当前计算机的IP地址

  • Bcast :当前网络的广播地址

  • Mask:子网掩码

  • Inet6 addr : IPV6的地址信息

  • UP ··· :这一行是网络的附加信息

  • RX packets:接收到的数据包的总数量

  • TX packets:发送的数据包的总数量 这两行后面是丢包丢失或报错的对比机率

  • BX bytes:接收的数据包的总大小

  • TX bytes:发送的数据包的总大小

  • Interrupt:网卡在内存当中的物理地址

mail ​

名称说明
命令名称mail
原意
所在路径/bin/mail
执行权限所有用户
功能描述查看发送电子邮件
语法mail [用户名]
范例# mail root

last ​

名称说明
命令名称last
原意
所在路径/usr/bin/last
执行权限所有用户
功能描述列出目前与过去登入系统的用户信息
语法last
范例# last

lastlog ​

名称说明
命令名称lastlog
原意
所在路径/usr/bin/lastlog
执行权限所有用户
功能描述检查某特定用户上次登录的时间
语法lastlog
范例# lastlog # lastlog -u 502

netstat ​

名称说明
命令名称netstat
原意
所在路径/bin/netstat
执行权限所有用户
功能描述显示网络相关信息
语法netstat [选项]

选项说明:

​ -t TCP协议

​ -u UDP协议

​ -r 路由

​ -l 监听

​ -n 显示IP地址和端口号

范例:

shell
# 查看本机监听的端口
$ netstat -tlun
# 查看本机所有的网络连接
$ netstat -an
# 查看本机路由表
$ netstat -rn

mount ​

名称说明
命令名称mount
原意
所在路径/bin/mount
执行权限所有用户
功能描述挂载
语法mount [-t 文件系统] 设备文件名 挂载点

范例:

shell
$ mount -t iso9660 /dev/sr0 /mnt/cdrom

注:-t iso9660可以省略,默认就是这样的设置

4.8 关机重启命令及注销登录 ​

关机重启命令 ​

shutdown

语法:# shutdown [选项] 时间

选项:

​ -c: 取消前一个关机命令 ​ -h: 关机 ​ -r: 重启

其他关机命令

shell
$ halt
$ poweroff
$ init 0

其他重启命令:

shell
$ reboot
$ init 0

系统运行级别:

  1. 0 关机
  2. 1 单用户
  3. 2 不完全多用户,不含NFS服务
  4. 3 完全多用户
  5. 4未分配
  6. 5 图形界面 . 6重启 ​

配置文件位置:/etc/inittab

查询系统运行级别:

shell
$ runlevel
N 3

$ init 5
$ init 3
$ runlevel
5 3

N代表上次系统运行级别,有的话会是数字

注销命令 logout ​

​