1.man命令的操作按键:
按键 |
用处 |
空格键 |
向下翻一页。 |
[Page Down] |
向下翻一页。 |
[Page Up] |
向上翻一页。 |
[HOME] |
直接前往首页。 |
[END] |
直接前往尾页。 |
/关键词 |
从上至下搜索某个关键词,如"/linux"。 |
?关键词 |
从下至上搜索某个关键词,如"?linux"。 |
n |
定位到下一个搜索到的关键词。 |
N |
定位到上一个搜索到的关键词。 |
q |
退出帮助文档。 |
2.常用系统工作命令:
echo命令用于在终端显示字符串或变量,格式为:“echo [字符串 | 变量]”
用echo命令查看SHELL变量的值(前面有$符号):[root@guoxiaoyan-hbza ~]# echo $SHELL
/bin/bash 关机命令:shutdown -h
halt poweroff
重启命令:shutdown -r reboot
系统快捷方式:快速移动光标到行首尾 ctrl+a/ctrl+e 系统命令信息补全功能:tab
快速返回用户的家目录:cd~/cd 快速返回之前所在的目录:cd -
快速创建多级目录信息:mkdir -p /oldboy/oldgirl/asd 其中oldboy oldgirl asd 都为文件名
查看文件信息:cat 输出字符信息:echo 查看数据属性:list-> ls
route 检测路由配置 lsof 查看指定ip或者端口的进程的当前运行情况 host/dig/nslookup 检测DNS解析
traceroute 检测到目的主机所经过的路由器
tcpdump 显示本机网络流量的状态
ss 查看套接字信息 netstat 查看网络端口
ssh/scp/sftp 基于安全协议的远程登录/远程复制/远程FTP
查看本机主机名:[root@guoxiaoyan-hbza ~]# echo $HOSTNAME
guoxioayan-hbza
reboot命令用于重启系统(仅root用户可以使用)
重启计算机: [root@guoxiaoyan-hbza ~]# reboot
3.系统状态检测命令:
ifconfig用于获取网卡配置与网络状态等信息
who命令用于查看当前登入主机的用户情况
history命令用于显示历史执行过的命令
4.工作目录切换命令:
pwd命令用于显示当前的工作目录
cd命令用于切换工作路径
切换进/etc目录中:[root@guoxiaoyan-hbza ~]# cd /etc
切换进/bin目录中:[root@guoxiaoyan-hbza etc]# cd /bin
返回上级目录(即/etc目录):[root@guoxiaoyan-hbza bin]# cd -
/etc
返回用户自己的家目录:[root@guoxiaoyan-hbza etc]# cd ~
[root@guoxiaoyan ~]
ls命令用于查看目录中有那些文件
查看/etc目录中有那些文件:[root@guoxiaoyan-hbza ~]# ls /etc
查看/etc目录的权限与属性:[root@guoxiaoyan-hbza ~]# ls -ld /etc
5.文本文件编辑命令
cat命令用于查看纯文本文件(较短的) 格式为:“cat [选项] [文件]”
[root@guoxiaoyan-hbza ~]# cat 文件名
参数 |
作用 |
-n |
显示行号 |
-b |
显示行号(不包括空行) |
-A |
显示出“不可见”的符号,如空格,tab键等等 |
more命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”。
[root@guoxiaoyan-hbza ~]# more 文件名
参数 |
作用 |
-数字 |
预先显示的行数(默认为一页) |
-d |
显示提示语句与报错信息 |
head命令用于查看纯文本文档的前N行,格式为:“head [选项] [文件]”。
查看文本文件前20行:[root@guoxiaoyan-hbza ~]# head -n 20 文件名
参数 |
作用 |
-n 10 |
显示10行 |
-n -10 |
正常输出(如cat命令),但不显示最后的10行 |
tail命令用于查看纯文本文档的后N行,格式为:“tail [选项] [文件]”。
查看文本文件后20行:[root@guoxiaoyan-hbza ~]# tail -n 20 文件名
参数 |
作用 |
-n 10 |
显示后面的10行 |
-f |
持续刷新显示的内容 |
tr命令用于转换文本文件中的字符,格式为:“tr [原始字符] [目标字符]”。
将tr.txt文件的内容转换成大写(注意 命令中间的| 这个叫管道命令符)
[root@guoxiaoyan-hbza ~]# cat tr.txt | tr [a-z] [A-Z]
WELCOME TO LINUXPROBE.COM
RED HAT CERTIFIED
diff命令用于比较多个文本文件的差异,格式为:”diff [参数] 文件”。
参数 |
命令 |
-b |
忽略空格引起的差异。 |
-B |
忽略空行引起的差异。 |
--brief或-q |
仅报告是否存在差异。 |
-c |
使用上下文输出格式。 |
比较两个文件的差异:
[root@guoxiaoyan-hbza ~]# diff diff_A.txt diff_B.txt
1c1,2
仅显示比较后的结果,即相同或不相同:
[root@guoxiaoyan-hbza ~]# diff --brief diff_A.txt diff_B.txt
Files diff_A.txt and diff_B.txt differ
使用上下文输出的格式:
[root@guoxiaoyan-hbza ~]# diff -c diff_A.txt diff_B.txt
*** diff_A.txt 2015-08-30 18:07:45.230864626 +0800
--- diff_B.txt 2015-08-30 18:08:52.203860389 +0800
***************
6.文件目录管理命令
touch命令用于创建空白文件与修改文件时间,格式为:“touch [选项] [文件]”
如果执行了touch -d “2 days ago” test,便将访问与修改时间修改为了2天前(伪造了自己没有动过该文件的假象)。
参数 |
作用 |
-a |
修改“访问时间”(atime) |
-m |
修改“更改时间”(mtime) |
-d |
同时修改atime与mtime |
-t |
要修改成的时间[YYMMDDhhmm] |
mkdir用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。
创建文件夹:[root@guoxiaoyan-hbza ~]# mkdir 文件夹名
参数 |
作用 |
-m=MODE |
默认的文件目录权限,如"-m 755" |
-p |
连续创建多层目录(若文件夹已存在则忽略) |
-v |
显示创建的过程 |
用于显示当前的工作路径 : [root@guoxiaoyan-hbza linuxprobe]# pwd
/root/Desktop/linuxprobe
一次创建5个目录a/b/c/d/e:[root@guoxiaoyan-hbza linuxprobe]# mkdir -p a/b/c/d/e
查看目录的属性,验证是否成功:[root@guoxiaoyan-hbza linuxprobe]# ls -ld a/b/c/d/e/
drwxr-xr-x. 2 root root 6 Aug 29 10:16 a/b/c/d/e/
cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”
mv命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件名]”。
将文件aaa重命名为bbb:[root@guoxiaoyan-hbza ~]# mv aaa bbb
rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。
删除普通文件并提示确认信息:“rm 文件名”
删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”
参数 |
作用 |
-f |
忽略警告信息 |
-i |
删除前先询问 |
-r |
删除文件夹 |
查看当前目录下的文件:[root@guoxiaoyan-hbza ~]# ls
install.log x.log
删除install.log文件,输入”y”即确认:[root@guoxiaoyan-hbza ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
删除x.log文件而无需确认:[root@guoxiaoyan-hbza ~]# rm -rf x.log
Linux系统中还有一个rmdir命令,它不同于rm -rf命令会删除一切,而是仅删除空目录,遇到目录内有文件时则报错。
7.用户与组管理命令
useradd命令用于创建新的用户,格式为:“useradd [选项] 用户名”。
参数 |
作用 |
-d |
指定用户的家目录(默认为/home/username) |
-D |
展示默认值 |
-e |
帐号有效截至日期,格式:YYYY-MM-DD. |
-g |
指定一个初始用户组(必须已存在) |
-G |
指定一个或多个扩展用户组 |
-N |
不创建与用户同名的用户组 |
-s |
指定默认的Shell |
-u |
指定用户的UID |
创建名为linuxprobe的用户,并定义家目录路径、UID以及登陆解释器(不允许登陆):[root@linuxprobe ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe
查看linuxprobe用户的基本信息:[root@guoxiaoyan-hbza ~]# id linuxprobe
uid=8888(linuxprobe) gid=8888(linuxprobe) groups=8888(linuxprobe)
passwd命令用于修改用户的密码,格式为:“passwd [选项] [用户名]”。
修改当前用户的密码:“passwd”
修改其他用户的密码:“passwd 其他用户名”
参数 |
作用 |
-l |
锁定用户禁止其登陆 |
-u |
解除锁定,允许用户登陆。 |
--stdin |
允许从标准输入修改用户密码,如(echo "NewPassWord" | passwd -stdin Username) |
-d |
使帐号无密码 |
-e |
强制用户下次登陆时修改密码 |
-S |
显示用户的密码状态 |
userdel命令用于删除用户所有表格,格式为:“userdel [选项] 用户名”。
删除用户与其家目录:[root@guoxiaoyan-hbza ~]# userdel -d 用户名
参数 |
作用 |
-f |
强制删除用户,家目录与其相关文件 |
-r |
同时删除用户,家目录与其相关文件 |
usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
参数 |
作用 |
-c |
填写帐号的备注信息 |
-d -m |
-m与-d连用,可重新指定用户的家目录并自动旧的数据转移过去。 |
-e |
帐户到期时间,格式“YYYY-MM-DD” |
-g |
变更所属用户组 |
-G |
变更扩展用户组 |
-L |
锁定用户禁止其登陆系统 |
-U |
解锁用户,允许其登陆系统 |
-s |
变更默认终端 |
-u |
修改用户的UID |
groupadd命令用于创建群组,格式为:”groupadd [选项] 群组名”。
创建名称为linuxprobe的用户群组:[root@guoxiaoyan-hbza ~]# groupadd linuxprobe
8.打包压缩文件命令
tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。
打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名” 解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”
9.文件查询搜索命令
find命令用于查找文件,格式为:“find [查找路径] 寻找条件 操作”
1.有计划的服务
一次性计划任务:今晚11点30分开启网站服务(例如新网站的公测)
长期性计划任务:每周1、3、5的凌晨3点25分将/home/wwwroot目录打包备份为backup.tar.gz
先来讲一次性任务吧,它是由atd服务/进程来实现的,计划的管理操作是”at”命令,具体的可用参数如下:
参数 |
作用 |
at <时间> |
安排一次性任务 |
atq或at -l |
查看任务列表 |
at -c 序号 |
预览任务与设置环境 |
atrm 序号 |
删除任务 |
一般用at命令创建计划任务有交互式与非交互式两种方法,先来看看交换式的方法,(输完成后敲击Ctrl+d来保存退出):
[root@linuxprobe ~]# at 23:30
at > systemctl start httpd 这个后面打的是要干什么事
at >
job 3 at Mon Apr 27 23:30:00 2015
[root@linuxprobe ~]# atq
3 Mon Apr 27 23:30:00 2015 a root
直接用echo语句将要执行的命令传送给at命令:
[root@linuxprobe ~]# echo "systemctl start httpd" | at 23:30
job 4 at Mon Apr 27 23:30:00 2015
[root@linuxprobe ~]# atq
3 Mon Apr 27 23:30:00 2015 a root
4 Mon Apr 27 23:30:00 2015 a root
删除的时候只需要用atrm命令与任务编号就可以啦~
[root@linuxprobe ~]# atrm 3
[root@linuxprobe ~]# atq
对于创建长期可循环的计划任务,则要用到cron服务,具体使用方法如下:
创建、编辑计划任务:crontab -e [-u 用户名]
查看计划任务:crontab -l [-u 用户名]
删除计划任务:crontab -r [-u 用户名]
其中在创建、编辑计划任务时有个固定的格式,请读者们一定要记住。
字段 |
说明 |
分钟 |
取值为从0到59之间的整数 |
小时 |
取值为从0到23之间的任意整数 |
日期 |
取值为1到31之间的任意整数 |
月份 |
取值为1到12之间的任意整数 |
星期 |
取值为0到7之间的任意整数,其中0与7均为星期日 |
命令 |
要执行的命令或程序脚本 |
需要用cron计划任务实现的功能:”每周1、3、5的凌晨3点25分将/home/wwwroot目录打包备份为backup.tar.gz”
编辑root用户自己的计划任务:
[root@linuxprobe ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
使用”crontab -l”命令查看计划任务的内容:
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
如果想对某个用户设置多个计划任务,则可直接用”crontab -e“命令将命令逐条添加即可,让计划任务自动在每周1-5的凌晨1点打包网站目录后自动清除/tmp目录下的所有文件::
[root@linuxprobe ~]# crontab -e
crontab: installing new crontab
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
2.文件权限与归属
Linux系统中一切都是文件,文件和目录的所属与权限——来分别规定所有者、所有组、其余人的读,写,执行权限。
读(read),写(write),执行e(xecute)简写即为(r,w,x),亦可用数字(4,2,1)表示
chmod命令用于修改文件或目录的权限,格式为:”chmod [参数] 权限 文件或目录名称”。
chown命令用于修改文件或目录的所属主与所属组,格式为:“chown [参数] 所属主:所属组 文件或目录名称”
su命令用于变更使用者的身份(切换登陆者),格式为:“su [-] 用户名”
sudo命令用于给普通用户提供额外权利来完成原本超级用户才能完成的任务,格式为:“sudo [参数] 命令名称”
sudo命令的常用参数包括有:
参数 |
作用 |
-h |
列出帮助信息。 |
-l |
列出当前用户可执行的命令。 |
-u 用户名或UID值 |
以指定的用户身份执行命令。 |
-k |
清空安全时间,下次执行sudo时需要再次密码验证。 |
-b |
在后台执行指定的命令。 |
-p |
更改询问密码的提示语。 |
挂载操作指的是当用户需要使用硬盘设备或分区数据时,需要先将其与一个已存在的目录文件做关联,而这个动作就叫“挂载”。
mount命令用于挂载文件系统,格式为:“mount 文件系统 挂载目录”。
将光盘文件挂载:“mount /dev/cdrom /media/cdrom”。
参数 |
作用 |
-a |
挂载所有在/etc/fstab中定义的文件系统 |
-t |
指定文件系统的类型 |
Yum的一切配置信息都在yum.repos.d的配置文件中,通常位于/etc目录下
Grep 过滤
-l显示详细信息 -a显示隐藏文件 -d显示目录(不查看里面的内容)
-h方便阅读文件大小
/var 是一个可增长的目录,包含很经常变的文件 /var/log(系统日志) /var/lib (包文件)
/tmp 临时文件存储位置 重启后会全部丢失 不能存放重要数据
/usr/src 源代码目录
/bin 命令 此目录包含二进制可执行文件
/sbin 系统命令,此目录中的命令主要供系统管理员使用,以进行系统的维护
修改权限
Chmod 744 1.txt
Chmod u+r/w/x 1.txt
网卡的配置文件存放在“/etc/sysconfig/network-scripts”目录
子网掩码:NETMASK=255.255.255.0
网关地址:GATEWAY=192.168.10.1
Userdel –r 连同宿主目录一起删除(抄家)
过滤掉无用的内容:
先使用cat命令读入Smb配置文件后通过grep命令-v参数(反向选择)去掉所有注释信息,然后分别删选掉包含#号的行(“#”),包含;号的行(“;”)以及所有的空白行(“^$”),最后最后将过滤后的信息覆盖写入到/etc/samba/smb.conf文件中。
cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf