小视频笔记(一)
# 小视频笔记(一)
看的小视频,好早以前的,了解下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 注意事项
Linux严格区分大小写
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 服务器注意事项
- 远程服务器不允许关机,只能重启
- 重启时应该关闭服务
- 不要在服务器访问高峰运行高负载命令
- 重启时应该关闭服务
- 制定合理的密码规范并定期更新
- 合理分配权限
- 定期备份重要数据和日志
# 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 [搜索范围][匹配条件] |
范例:
根据文件名查找
# 在目录/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
根据文件大小查找
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
根据文件类型查找和根据i节点查找
# f 文件 d 目录 l 软链接文件 # -inum 根据i节点查找
对操作结果执行
# 在/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:网卡在内存当中的物理地址
名称 | 说明 |
---|---|
命令名称 | |
原意 | |
所在路径 | /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
系统运行级别:
0
关机1
单用户2
不完全多用户,不含NFS服务3
完全多用户4
未分配5
图形界面 .6
重启
配置文件位置:/etc/inittab
查询系统运行级别:
$ runlevel
N 3
$ init 5
$ init 3
$ runlevel
5 3
N代表上次系统运行级别,有的话会是数字
# 注销命令 logout