本文共 9689 字,大约阅读时间需要 32 分钟。
1、登陆和开关机
关机
halt poweroff init 0 重启 reboot init 6 shutdown shutdown -r 重启 shutodwn -h 关机 shutdown -c 取消计划关机 shutdown +0 马上关机 +1 一分钟后关机 -X X分钟后关机 20:00 今天20:00关机 whoami 显示当前的登录用户名 who am i 显示当前的登录用户名 终端名 登录时间 who 显示当前所有的登录用户名 终端名 登录时间 w 显示当前所有的登录用户名 终端名 登录时间 登录的来源 当前在做什么 2.切换用户与当前工作目录su – 用户名 切换用户,并切换至用户家目录
su 用户名 非登陆切换用户 cd 相对或者绝对路径 进入目录 -P 如果目标目录是个软链接目录,则直接进入其源始目录 .. 进入上一级目录 cd 进入家目录 cd ~或直接 cd 进入家目录 cd – 进入上一次的工作目录 pwd 获取当前目录路径 3.基本常用命令date 获取系统时间
date -s “2018-1-20 13:50:11” 设置系统时间 hwclock 或 clock 获取原子时间 -s 将硬时间写入软时间。 -w 将软时间写入硬时间。 cal 获取日历 history 获取命令的历史记录hostname 获取主机名
中断命令 ctrl+C 强制中断 ctrl+d 正常中断 4.帮助命令文档查询
type 用来判断命令的类型 enable 管理显示内部命令 enable command 禁用内部命令 enable -n command 激活已禁用的内部命令 help 内部命令 外部命令 –help 查看指定命令的帮助信息 whereis command 查看命令的路径(外部命令)和 帮助文档的路径 which command 查看命令路径 man 检索命令帮助文档 5.文件查询
ls 列出目录的内容 ls 列出目录的内容 -a 列出所有文件(包含隐藏文件) -A 列出所有文件(包含隐藏文件但不包含.和..) -l 长列出(即显示属性信息) -R 递归 -ld 查看指定目录的属性 -1 竖显示 stat 文件名 查看一个文件的详细属性,包括三个时间戳。 file 文件路径 判断文件的类型 -b 只显示辨识结果,不显示文件名 -f 文件路径 根据文件内容,将其中的文件分别辨识 cat 文件名 查看文件内容 vim 文件名 查看并编辑文件 6,新建文件, 移动、复制、删除文件
touch newfile 创建空文件 touch oldfile 更新文件的三个时间戳 touch -a oldfile 更新文件的atime和ctime touch -m oldfile 更新文件的mtime和ctime touch -t 201802122021.59 fstab touch -c newfile 若文件存在则更新时间戳,若不存在不创建 mkdir -p 一次性创建多级目录,无论父级目录是否存在。 -v 创建时显示信息 -m mode 创建时直接指定权限 rmdir 删除空目 cp src dst 被复制文件路径 新文件或被覆盖文件路径 -i 覆盖时提示 -r 递归,可复制目录 –preserv=mode 权限不变 –preserv=owner 权限及所属关系不变 –preserv=timestamp 时间不变 –preserv=all 以上全变 -p 等于 –preserv=mode,owner,timestamp 复制时保留权限,时间不变 -d 复制软链接 -v 显示复制过程 -a 以上全部 -f 当dst已存在,但当前用户对其没有w权限,导致无法直接覆盖,如果当前用户对所在目录有wx权限,即可创建和删除文件,那么,加上-f后,会先删除文件,再创建新文件,最后再填充内容与src一致。 mv src dst 若dst不存在,则改名。 -i 若dst已存在,则询问是否覆盖 -f 抵消掉-i的作用,直接覆盖,不询问 rm 删除 rm 文件名 -i 询问是否删除 -f 抵消掉-i的作用,直接删除,不询问 -r 递归,删除目录 ls |xargs rm -rf 当删除的文件数量过多,超过了所支持的参数数量上限时,可配合管道及xargs来删除。 –no-preserve-root 7.文本处理命令
tr [set1] [set2 将set1转换成set2,set1的位数多于set2时,多出的位数全转成 set2的最后一位,如tr abcd ef 即a转成e,bcd均转成f -d [set1] 删除set1的字符 -c [set1] [set2 除了set1以外的剩下其他字符都转换set2(换行符也会被转) -cd [set1] 删除除set1以外的字符 -s [set1] 将连续重复的字符转为一个 cut -d分隔符(只能是单个字符) -f取哪一列 文件名 -output-delimiter=分隔符 表示输出的分隔符。默认为原文件分隔符 -fn,m 或 -fn-m -cn,m 或 -cn,m -cn sort -t分隔符 -k以分隔符的第几列排序 -n以数字方式排序 -r倒序排列 -u去除重复项 -f忽略大小写 uniq 去重 uniq 去除连续的重复行,仅保留一行 -u 去除连续的重复行,不保留 -d 仅显示重复的行,去除不重复的行 -c 显示的结果前显示重复的次数 8.正则表达式grep 和 sed
grep –color=auto 关键字高亮显示 -v 反选 -n 显示行号 -c 显示匹配行的数量 -i 忽略大小写 -q 静默 -A n 显示关键字及其下n行 -B n 显示关键字及其上n行 -C n 显示关键字及其上下n行 -e:实现多个选项间的逻辑or关系 -w:匹配整个单词 -E 或 egrep 使用扩展正则 -F 或 fgrep 不使用正则 sed -i 更改原文件 -i.bak 在更改前将原文件备份为.bak -n 不打印 -e 多模式 -f sed.txt 指定scripts的文件 -r 指定扩展正则 p打印 d删除 a在指定行后增加 i在指定行前增加 c替换指定行 w将模式空间的行写入指定文件 r将文件中的内容读入模式空间 =: 为模式空间中的行打印行号 !:模式空间中匹配行取反处理
COMMAND options arguments
选项:定义命令的执行特性
长选项:--引导,后跟单词,如 --help,--verbose
短选项:-引导,后跟单个字符,如-h,-l,-a
多个短选项可以组合: -h, -l , -a = -hla
有些选项也可以带参数
参数:定义命令的作用对象
-l : 长格式显示文件的详细属性
文件类型
属主、属组及其它用户的权限
文件被硬链接次数
属主
属组
文件的大小
文件最后一次被修改的时间
时间戳:
最后一次被访问
最后一次被修改:内容
最后一次被改变:属性
-a : 显示所有文件,包括隐藏文件
-A : 跟-a功能相同,但不显示.和..;
. : 当前目录;
.. : 上级目录;
-n : 以用户级组的id号排序;
-h : 文件大小会自动进行单位换算;
-r :文件名逆序显示;
-R:递归显示;
-1 : 纵向列表显示,列表过滤或需要复制纵向结果时常用。
!# : 执行历史中的第#条;
!-#: 执行历史中的倒数第#条;
!! : 命令历史中的最后一条命令;
!string : 执行命令历史中最近一条以“string”开头的命令
Ctrl+r 输入”string”: 搜索命令历史中最后一条以“string”开头的命令
COMMAND !$ 使用上一个命令的参数 也可用Alt+. 或 Esc .
hwclock
-w : 以系统时钟为准,将硬件时间修改为系统时间
-s : 以硬件时钟为准,将系统时间修改为硬件时间
/ : 根目录;
/bin : 二进制,可执行的命令;
/sbin : 可执行命令,仅用于管理,通常管理员才权限使用;
/boot : 引导,操作系统用于引导系统启动的文件,内核、grub;
/dev : 设备文件;
Linux的设备类型;
字符设备:c, 线性设备
块设备 : b, 随机设备
/etc : 配置文件;
/home : 用户的家目录,/home/USERNAME, jerry,/home/jerry;
/root : 管理员的家目录;
/lib, /lib64 : 库文件
/media : 挂载点目录,通常用于挂载便携性设备,如U盘;
/mnt : 挂载点目录,挂载额外的文件系统;
/misc : 备份目录;
/opt :可选目录,通常第三方软件偶尔安装于此路径下;
/proc : 伪文件系统:内存中内核的映射;
/selinux : 安全加强的Linux;
/srv : 属于服务的中间数据存储位置;
/sys : 伪文件系统,通常用于访问硬件设备属性信息;
/tmp : 临时文件目录;
/usr : 存储只读文件;
/var : 经常会发生变化的文件;比如说日志等;
cd
cd ~USERNAME : 切换到USERNAME的家目录;
cd - : 在上个目录和当前之间切换;
在写脚本的时候常用来获取相应脚本的所在目录
例:
test.sh 脚本内容如下
base_dir=$(cd `dirname $0` && pwd) echo $base_dir
执行结果 : 是test.sh的所在目录
分别创建这四个目录 a_b,a_d,c_b,c_d
方法一: mkdir a_b a_d c_b _c_d
方法二: mkdir {a,c}_{b,d} –v
分别创建这几个目录 x/y, x/z, x/y/a, x/y/b, x/m
mkdir x/{y/{a,b},z,m}
查看:
cat , tac : 正向和反向输出文件内容
more/less
more : 向后翻,在翻至文件尾部前允许向前翻
less : 向前后都可以
head/tail
head : 文件的前n行 默认10行
tail : 文件的后n行 默认10行
-n : 指定输出n行
tail -f : 实时输出文件尾部内容;退出使用Ctrl+C;
id - print real and effective user and group IDs
id [OPTION]... [USER]
常用选项:
-u:查看uid
username:查看用户是否存在
在centos6.x中uid:
0:root用户
1-499:系统用户
500-65534:普通用户
在centos7.x中uid:
0:root用户
1-999:系统用户
1000-65534:普通用户
查看当前shell类型:
~]# echo $SHELL
shell的配置文件:/etc/shells
~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
显示提示符格式:\\u:user \\h:host \\w:present path
~]# echo $PS1
[\\u@\\h \\W]\\$
自定义提示格式:PS1=[.....]
PS1:
\\u: 当前用户名
\\h: 主机名
\\H: FQDN,完整格式的主机名
\\W:当前工作目录的基名
\\w: 当前工作目录绝对路径
\\$: 提示符
当前使用命令查看:type
内嵌:type cd 查看帮助手册:help cd
外部:type mkdir
hash命令:
搜索外部命令路径的结果缓存至key-value中
hash:显示缓存
hash -r:清空缓存
hash -d:清空指定命令的缓存 如:hash -d ls
命令的执行的顺序:先找内部命令->缓存外部->外部命令,按照$PATH来找。
alias命令:
显示系统的别名,和设别名。
选项:
alias ls=’ls --color=auto’ 设置别名
unalias ls 取消别名
which命令:
显示命令的位置所在
which COMMAND which mkdir
whereis命令:
显示命令的帮助文档和命令所在的位置
date命令:
显示系统的时间
选项:
-s:修改系统时间
date: 日期和时间
date [options] [+FORMAT]
%s: 时间戳计时法,从Unix元年(1970-01-01 00:00:00)到此刻所经过的秒数
%F, %D
%T
%Y
%m
%d
%H
%M
%S
date [MMDDhhmm[[CC]YY][.ss]]
Linux有两个时钟:系统时钟和硬件时钟
硬件时钟:
系统时钟:Linux
hwclock
-s: 以硬件为准
-w:以系统为准
ntp: Network Time Protocol
通过网络同步系统时间
C/S: Server, Client
ntpdate SERVER
screen命令:
screen - screen manager with VT100/ANSI terminal emulation
安装screenrpm包:
rpm -i /media/CentOS_6.8_Final/Packages/screen-4.0.3-19.el6.x86_64.rpm
执行:screen -x chen
在另一端执行:screen -ls screen -rchen
echo命令:
功能:回显
选项:
\\a:发出警报
\\b:退格
\\c:不加上换行符
\\n:换行且换标移道行首
\\e:转义
~]# echo -e "\\033[42;31mman\\033[0m"
~]# echo -e "\\033[41;36m something here \\033[0m"
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e
格式如下:echo -e "\\033[字背景颜色;文字颜色m字符串\\033[0m"
例如:
echo -e "\\033[41;36m something here \\033[0m"
其中41的位置代表底色, 36的位置是代表字的颜色
注: 1、字背景颜色和文字颜色之间是英文的"" 2、文字颜色后面有个m 3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配 例echo -e “\\033[31m 红色字 \\033[0m”
echo -e “\\033[34m 黄色字 \\033[0m”
echo -e “\\033[41;33m 红底黄字 \\033[0m”
echo -e “\\033[41;37m 红底白字 \\033[0m”
字颜色:30—–37
echo -e “\\033[30m 黑色字 \\033[0m”
echo -e “\\033[31m 红色字 \\033[0m”
echo -e “\\033[32m 绿色字 \\033[0m”
echo -e “\\033[33m 黄色字 \\033[0m”
echo -e “\\033[34m 蓝色字 \\033[0m”
echo -e “\\033[35m 紫色字 \\033[0m”
echo -e “\\033[36m 天蓝字 \\033[0m”
echo -e “\\033[37m 白色字 \\033[0m”
字背景颜色范围:40—–47
echo -e “\\033[40;37m 黑底白字 \\033[0m”
echo -e “\\033[41;37m 红底白字 \\033[0m”
echo -e “\\033[42;37m 绿底白字 \\033[0m”
echo -e “\\033[43;37m 黄底白字 \\033[0m”
echo -e “\\033[44;37m 蓝底白字 \\033[0m”
echo -e “\\033[45;37m 紫底白字 \\033[0m”
echo -e “\\033[46;37m 天蓝底白字 \\033[0m”
echo -e “\\033[47;30m 白底黑字 \\033[0m”
最后面控制选项说明
\\33[0m 关闭所有属性
\\33[1m 设置高亮度
\\33[4m 下划线
\\33[5m 闪烁
\\33[7m 反显
\\33[8m 消隐
\\33[30m — \\33[37m 设置前景色
\\33[40m — \\33[47m 设置背景色
\\33[nA 光标上移n行
\\33[nB 光标下移n行
\\33[nC 光标右移n行
\\33[nD 光标左移n行
\\33[y;xH设置光标位置
\\33[2J 清屏
\\33[K 清除从光标到行尾的内容
\\33[s 保存光标位置
\\33[u 恢复光标位置
\\33[?25l 隐藏光标
\\33[?25h 显示光
命令扩展、被包括起来的集合
whatis命令:
whatis - search the whatis database for complete words.
如何获取命令帮助:
内置命令:help COMMAND
例如:help history
外部命令:
1、COMMAND --help
2、手册:manual
man [#] COMMAND
如何查看指定命令在哪些章节下有帮助:
whatis COMMAND
注意:whatis根据数据库执行查找操作,此库为系统定期更新;可使用makewhatis手动更新;
man的使用机制:
翻屏:
空格键:向文件尾部翻一屏
b: 向文件首部翻一屏
回车键:向文件尾部翻一行
k: 向文件首部翻一行
Ctrl+d: 向文件尾部翻半屏
Ctrl+u: 向文件首部翻并屏
字串搜索:
/keyword: 从文件首部向尾部进行搜索
?keyword: 从文件尾部向首部进行搜索
n: 显示找到的下一个
N:显示找到的上一个
退出:q
3、info命令:获取在线文档
仅在man手册无法获取到足够信息,或想了解程序的开发历史时才使用info
4、很多应用程序都自带有帮助文档:/usr/share/doc/
ChangeLog: 程序版本升级的变动情况
INSTALL: 安装方法说明
README:程序说明信息
安装vmware-tools:
cd /media/VMware\\ Tools/
ls
cp VMwareTools-10.0.0-2977863.tar.gz /testdir/
cd /testdir/
tar xvf VMwareTools-10.0.0-2977863.tar.gz
cd vmware-tools-distrib/
./testdir/vmware-tools-distrib/vmware-install.pl d
reboot
图形界面开机免密码登录:在/etc/gdm/custom.conf [daemon]下添加如下代码:
vi /etc/gdm/custom.conf
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=root
alias
\\COMMAND : 使用命令自身,而不使用与命令名称同名的别名;
例:在root用户下使用cp复制文件需要覆盖时默认会提示因为root用户默认别名为 alias cp=’cp -i’, 使用\\cp 则 不提示直接覆盖
* : 任意长度的任意字符;
?:任意单个字符
[] : 指定范围内的凭单单个字符;[a-z]
[0-9] : 所有的数字
[a-z] : 所有的小写字母
[A-Z] : 所有的大写字母
[a-zA-Z]:所有的字母
[0-9a-zA-Z]:所有的数字和字母
不区分大小写;
字符集合(过滤文件内容时使用下面的集合比上面的字符更准确):
[:digit:] : 所有数字,相当于0-9
[0-9], [[:digit:]]
[:lower:] : 所有的小写字母
[:upper:] : 所有的大写字母
[:alpha:] : 所有的字母
[:alnum:] : 相当于[0-9a-zA-Z]
[:space:] : 空白字符
[:punct:] : 所有标点符号
[^] : 脱字符,取反,指定范围外的任意单个字符,[^0-9]
普通文件(-):a.html, b.txt , c.ppt , ls
目录文件(d):
特殊文件:
块设备文件(b):
字符设备(c):
符号链接文件(l) :
命名管道文件(p) : pipe
套接字文件 (s): socket
判断普通文件的内容的类型,使用file命令;
# file FILE
本文转自 游骑兵vtx 51CTO博客,原文链接:
http://blog.51cto.com/qibingtuan/1970869
转载地址:http://ztkra.baihongyu.com/