CcbeanBlog CcbeanBlog
首页
  • 前端文章

    • JavaScript
    • HTML+CSS
    • Vue
    • React
  • 系列笔记

    • React使用学习
    • Vue2源码探究
  • Node文章

    • 基础
    • 问题
    • 框架
  • 系列笔记

    • 数据结构与算法
  • 构建工具文章

    • webpack
  • 系列笔记

    • Webpack5使用学习
  • MySQL
  • Linux
  • 网络
  • 小技巧
  • 杂记
  • 系列笔记

    • Protobuf Buffers
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ccbean

靡不有初,鲜克有终
首页
  • 前端文章

    • JavaScript
    • HTML+CSS
    • Vue
    • React
  • 系列笔记

    • React使用学习
    • Vue2源码探究
  • Node文章

    • 基础
    • 问题
    • 框架
  • 系列笔记

    • 数据结构与算法
  • 构建工具文章

    • webpack
  • 系列笔记

    • Webpack5使用学习
  • MySQL
  • Linux
  • 网络
  • 小技巧
  • 杂记
  • 系列笔记

    • Protobuf Buffers
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • MySQL

  • Linux

    • Linux系统目录结构
    • Linux下安装phpMyAdmin
    • Linux下搭建LNMP环境
    • 小视频笔记(一)
      • 1.1.1 UNIX发展历史和发行版本
      • 1.1.2 Linux发展历史和发行版本
      • 2.1 VMware虚拟机安装与使用
      • 2.2 安装
      • 3.1 注意事项
      • 3.2 Linux各目录的作用
        • 树状目录结构解释:
        • 其他
      • 3.3 服务器注意事项
      • 4.0 命令格式与目录处理命令ls
        • ls
      • 4.1 文件处理命令
        • 4.1.1 目录处理命令
        • mkdir
        • cd
        • pwd
        • rmdir
        • cp
        • mv
        • rm
        • 4.1.2文件处理命令
        • touch
        • cat
        • tac
        • more
        • less
        • head
        • tail
        • 4.1.3 链接命令
        • ln
      • 4.2 权限管理命令
        • 4.2.1 权限管理命令:chmod
        • chmod
        • 4.2.2 其他权限管理命令
        • chown
        • chgrp
        • umask
      • 4.3 文件搜索命令
        • find
        • locate
        • which
        • whereis
        • grep
      • 4.4 帮助命令
        • man
        • whatis
        • apropos
        • help
      • 4.5 用户管理命令
        • useradd
        • passwd
        • who
        • w
      • 4.6 压缩解压命令
        • gzip
        • gunzip
        • tar
        • zip
        • unzip
        • bzip2
        • bunzip2
      • 4.7 网络命令
        • write
        • wall
        • ping
        • ifconfig
        • mail
        • last
        • lastlog
        • netstat
        • mount
        • 关机重启命令
        • 注销命令 logout
    • 小视频笔记(二)
    • 小视频笔记(三)
  • 网络

  • 小技巧

  • 杂记

  • 系列笔记

  • 更多
  • Linux
ccbean
2018-04-02
目录

小视频笔记(一)

# 小视频笔记(一)

看的小视频,好早以前的,了解下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系统的可移植性打下基础。

发行版本:

操作系统 公司 硬件平台
AIX IBM PowerPC
HP-UX HP PA-RISC
Solaris Sun SPARC
Linux Red 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官方网站 http://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 /可看到如下内容:

[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你的机器:

      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 递归创建

范例:

$ mkdir -p /tmp/Japan/boduo

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

# cd

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

范例:

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

# pwd

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

# rmdir

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

范例:

$ rmdir /tmp/Japan/boduo

# cp

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

选项说明:

​ -r 复制目录

​ -p 保留文件属性

范例:

#将目录/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 强制执行

范例:

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

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

# 4.1.2文件处理命令

# touch

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

范例:

$ 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

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

选项说明:

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

范例:

$ head -n 20 /etc/services

# tail

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

选项说明:

​ -n 指定行数

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

范例:

$ tail -n 18 /etc/services

# 4.1.3 链接命令

# ln

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

选项说明:

​ -s 创建软链接

范例:

# 创建文件/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

范例:

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

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

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

# 4.2.2 其他权限管理命令

# chown

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

范例:

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

# chgrp

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

范例:

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

# umask

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

选项说明:

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

范例:

#创建文件的默认权限是
$ umask -S
u=rwx,g=rx,o=rx

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

    $ 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

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

# 4.3 文件搜索命令

# find

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

范例:

  1. 根据文件名查找

    # 在目录/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

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

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

    # 在/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查找本身,其资料库在

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

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

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

# which

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

范例:

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

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

# whereis

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

范例:

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

# grep

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

选项说明:

​ -i 不区分大小写

​ -v 排除指定字串

范例:

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

# 4.4 帮助命令

# man

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

范例:

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

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

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

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

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

    $ whereis passwd
    passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
    
    $ 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).
    	...
    
    # 查看5的
    $ man 5 passwd
    

# whatis

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

范例:

$ 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 [配置文件]

范例:

$ apropos inittab
inittab 		(5) -init daemon configuration

# help

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

范例:

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

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

# 4.5 用户管理命令

# useradd

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

范例:

$ useradd wangge

# passwd

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

范例:

$ passwd wangge

# who

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

范例:

$ 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

范例:

$ 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 [文件]

范例:

$ 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

范例:

$ gunzip test.txt.gz 

# tar

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

选项说明:

​ -c 打包

​ -x 解压

​ -v 显示详细信息

​ -f 指定文件名

​ -z 打包同时压缩

​ -j 操作.bz2格式文件

范例:

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

# zip

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

选项说明:

​ -r 压缩目录

范例:

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

# unzip

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

范例:

$ unzip test.zip

# bzip2

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

选项说明:

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

范例:

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

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

# bunzip2

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

选项说明:

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

范例:

$ 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 指定发送次数

范例:

$  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地址

范例:

$ 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地址和端口号

范例:

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

# mount

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

范例:

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

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

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

# 关机重启命令

shutdown

语法:# shutdown [选项] 时间

选项:

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

其他关机命令

$ halt
$ poweroff
$ init 0

其他重启命令:

$ reboot
$ init 0

系统运行级别:

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

配置文件位置:/etc/inittab

查询系统运行级别:

$ runlevel
N 3

$ init 5
$ init 3
$ runlevel
5 3

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

# 注销命令 logout

​

编辑 (opens new window)
上次更新: 2021/11/10, 12:11:50
Linux下搭建LNMP环境
小视频笔记(二)

← Linux下搭建LNMP环境 小视频笔记(二)→

最近更新
01
阅读精通正则表达式总结
09-29
02
项目搭建规范的配置
07-15
03
Vite的使用
07-03
更多文章>
Theme by Vdoing | Copyright © 2018-2023 Ccbeango
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式