赞
踩
linux的提示符组成:[用户@计算机名 当前目录]#
# 超级用户
$ 普通用户
当前目录是以简略格式显示
命令行 | 解释 |
---|---|
pwd | 显示当前路径 |
cd 文件 | 切换路径 |
cd - | 返回之前所在路径 |
cd . . | 快速返回上一级路径 |
cd | 返回家路径 |
cd ~ | 返回家路径 |
mkdir | 创建目录 |
mkdir -p | 创建多级目录 |
系统关机命令
命令行 | 解释 |
---|---|
shutdown -h | 默认一分钟后关闭虚拟机 |
shutdown -h 0 | 立刻关闭虚拟机 |
shutdown -h 30 | 30分钟后关闭虚拟机 |
shutdown -h now | 立刻关闭虚拟机 |
shutdown -c | 取消关机 |
init 0 | 立刻关闭虚拟机 |
halt | 立刻关闭虚拟机 |
poweroff | 立刻关闭虚拟机 |
系统重启命令
命令行 | 解释 |
---|---|
shutdown -r | 默认一分钟后重启虚拟机 |
shutdown -r 0 | 立即重启虚拟机 |
shutdown -r 30 | 30分钟后重启虚拟机 |
shutdown -r now | 立即重启虚拟机 |
reboot | 立即重启虚拟机 |
init 6 | 立即重启虚拟机 |
查看后使用q
命令退出
命令行 | 解释 |
---|---|
man | 提供外部命令的帮助。 |
info | 提供外部命令的帮助。 |
help | 提供内部命令的帮助 |
Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,建议大家需要的时候再去看man,记得一些基本用法就可以了
快捷键 | 解释 |
---|---|
利⽤⽅向键 上 下 | 显示历史输⼊命令信息 |
ctrl + l | 清除所有屏幕信息输出 |
clear | (命令) 清除所有屏幕信息输出 |
ctrl + c | 中断取消命令执⾏过程 |
cancel | (命令) 中断取消命令执⾏过程 |
ctrl + a | 快速移动光标到⾏⾸ |
ctrl + e | 快速移动光标到⾏尾 |
ctrl + u | 将光标所在位置到⾏⾸的信息进⾏删除(剪切) |
ctrl + k | 将光标所在位置到⾏尾的信息进⾏删除(剪切) |
ctrl + y | 将剪切内容进⾏粘贴回来 |
ctrl + s | 锁定系统窗⼝信息状态 |
ctrl + q | 解锁系统窗⼝信息状态 |
tab | 系统命令补全快捷⽅式 |
ctrl + ⽅向键 左 右 | 命令⾏中快速移动光标 |
命令用于修改文件或者目录的时间属性,包括访问时间和修改时间,若文件不存在,系统会建立一个 新的文件。我们平时用得最多的是通过touch创建一个空文件,实际上通过touch命令可以修改文件的atime、mtime,所以文件的真实访问时间和修改时间是可以被修改,我们在排查系统异常的时候还需要结合日志、历史命令等等因素综合决策。
命令行 | 解释 |
---|---|
touch file | 一次创建/二次修改文件file |
stat file | 查看文件file1详细信息 |
touch -a | 修改访问时间(access) |
touch -m | 修改更改时间(modify) |
touch -d | 修改更改时间与访问时间 |
ls(list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
语法
ls [-alrtAFR] [name...]
参数 | 解释 |
---|---|
-a | 显示所有文件及目录 (以 . 开头的隐藏文件也会列出) |
-l | 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出。ls -l 简写 ll |
-r | 将文件以相反次序显示(原定依英文字母次序) |
-t | 将文件依建立时间之先后次序列出 |
-A | 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录) |
-F | 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/” |
-R | 若目录下有文件,则以下之文件亦皆依序列出 |
-lt | 按照⽇期查找⽂件 |
-ltr | 按照⽇期查找⽂件, 逆排序 |
除此之外ls会显示不同颜色,下面是这些颜色的含义:
蓝色—目录
绿色—可执行文件
红色—压缩文件
浅蓝色—链接文件
粉红色—图片文件
黄色—设备文件
灰色—其他文件
查看文本内容
参数 | 说明 |
---|---|
-n 或 --number | 由 1 开始对所有输出的行数编号。 |
-b 或 --number-nonblank | 和 -n 相似,只不过对于空白行不编号。 |
-s 或 --squeeze-blank | 当遇到有连续两行以上的空白行,就代换为一行的空白行。 |
-v 或 --show-nonprinting | 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 |
-E 或 --show-ends | 在每行结束处显示 $。 |
-T 或 --show-tabs | 将 TAB 字符显示为 ^I。 |
1、cat linux.txt 查看linux.txt内容。 2、cat -n linux.txt 查看linux.txt文件的内容,并且由1开始对所有输出行进行编号。(包括空白行) 3、cat -b linux.txt 用法和 -n 差不多,但是不对空白行编号。 4、cat -s linux.txt 当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。 5、cat -e linux.txt 在输出内容的每一行后面加一个$符号。(包括空白行) 6、cat linux1.txt linux2.txt 同时显示多个文件内容,注意文件名之间以空格分隔,而不是逗号。 7、cat -n linux1.txt > linux2.txt 对linux1.txt文件中每一行加上行号后写入linux2.txt中,会覆盖原来的内容,文件不存在则创建它。 8、cat -n linux1.txt >> linux2.txt 同上,但是不会覆盖原来的内容,文件不存在则创建它。
可以输出或写入数据
语法
echo [选项] [输出内容]
echo # 将信息进⾏输出
echo hello world # 等价于print('hello world')
echo hello world > /mydir/a.txt # 覆盖模式写⼊⽂件
echo hello world >> /mydir/a.txt # 追加模式写入文件
对⽂件或⽬录数据信息进⾏拷⻉
cp 参数信息 要复制的信息 复制到什么位置
命令选项参数
-r或-R:递归处理,将指定目录下的子文件和子目录一并处理(复制目录的时候使用)
-f:强行复制文件或目录,不论目标文件或目录是否已存在
-p:保留文件属性(所有者、所属组、文件权限、文件时间·····)
-a:相当于-prd
-i:覆盖既有文件时先询问用户。(默认-i)
-l:对源文件建立硬连接,非复制文件。
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀。
-b:覆盖已存在的文件目标前将目标文件备份。
-v:详细显示命令执行的操作。
-d:–no-dereference –preserv=links 复制符号连接加的选项
cp命令 | 解释 |
---|---|
cp -r | 递归拷贝目录(复制包括所有子文件,必须使用) |
cp -v | 显示拷贝过程信息 |
cp -p | 文件属性信息一起拷贝 |
cp -a | 递归拷贝文件,包括目录及文件属性信息 = -dpr (-d建立软链接) |
在Linux系统使用cp复制目录时,常出现错误“cp:omitting directory "dir" (dir是需要复制的目录
名称),是因为dir目录下存在其他目录或文件存在,不可只使用cp命令实现复制操作;
移动文件用法(不同路径下);
mv /需要移动的文件 /移动到新的路径下
重命名文件用法(相同路径下);
mv /原来文件的名字 /新文件的名字
示例:
把在自己家目录中的a.txt文件移动到/opt目录中,并把文件名修改成b.txt
mv ~/a.txt /opt/b.txt
语法
rm [options] name...
参数:
-i 删除前询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。(删除目录时使用)
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。
该命令可以在比较大的文件中逐行查看信息或者一页一页进行查看
该命令和 less 命令相似,逐行或逐页查看信息。
以上两个查看文件信息命令区别说明:
1. 是否可以使⽤快捷⽅式之间区别
less 可以使⽤
more 禁⽌使⽤
2. 是否可以实现查看完毕⾃动退出
less 不可以使⽤
more 可以实现
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global RegularExpression Print,表示全局正则表达式版本,它的使用权限是所有用户。
简略:文本过滤工具,用于查找文件里符合条件的字符串
语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数
-a 或 --text : 不要忽略二进制的数据。 -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。 -c 或 --count : 计算符合样式的列数。 -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。 -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。 -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。 -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。 -F 或 --fixed-regexp : 将样式视为固定字符串的列表。 -G 或 --basic-regexp : 将样式视为普通的表示法来使用。 -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。 -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。 -i 或 --ignore-case : 忽略字符大小写的差别。 -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。 -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。 -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。 -o 或 --only-matching : 只显示匹配PATTERN 部分。 -q 或 --quiet或--silent : 不显示任何信息。 -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。 -s 或 --no-messages : 不显示错误信息。 -v 或 --invert-match : 显示不包含匹配文本的所有行。 -V 或 --version : 显示版本信息。 -w 或 --word-regexp : 只显示全字符合的列。 -x --line-regexp : 只显示全列符合的列。 -y : 此参数的效果和指定"-i"参数相同。
示例
grep ssr a.txt 在 a.txt 中查找含有 ssr 的数据
grep ssr -B 2 a.txt 查找的数据前⼏⾏也显示
grep ssr -A 2 a.txt 查找的数据后⼏⾏也显示
grep ssr -C 1 a.txt 查找的数据前后⼏⾏都显示
grep -n ssr a.txt 附带⾏号
grep -v ssr a.txt 查找不含有 ssr 的数据
grep ^ssr a.txt 查找以 ssr 开头的数据
grep ssr$ a.txt 查找以 ssr 结尾的数据
简介:利用脚本来处理文本文件
语法:sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数:
-n 使用安静模式,在一般情况所有的STDIN都会输出到屏幕上,加入-n后只打印被sed特殊处理的行-e多重编辑,且命令顺序会影响结果 -f 指定一个sed 脚本文件到命令行执行.-r Sed 使用扩展正则 -i 直接修改文档读取的内容,不在屏幕上输出 x,y 指定从x到y的行号范围 r 从另一个文件中读文件 w 将文本写入到一个文件 y 变换字符 q 第一个模式匹配完成后退出 p 打印匹配行 = 打印文件行号。 a 在定位行号之后追加文本信息i:在定位行号之前插入文本信息。d:删除定位行 c 用新文本替换定位文本s:使用替换模式替换相应模式 n 读取下一个输入行,用下一个命令处理新的行N:将当前读入行的下一行读取到当前的模式空间。h:将模式缓冲区的文本复制到保持缓冲区 H 将模式缓冲区的文本追加到保持缓冲区 x 互换模式缓冲区和保持缓冲区的内容 g 将保持缓冲区的内容复制到模式缓冲区 G 将保持缓冲区的内容追加到模式缓冲区。
示例
sed -n 2p a.txt 打印 a.txt 文件中的第二行
sed -n 2,5p a.txt 打印 a.txt 文件中的第二行到第五行
sed -n $= a.txt 打印 a.txt 文件的总行数
sed -i '2 i\ lll' a.txt 在文件的第二行添加内容
sed -i 's/a/H/g' a.txt 将文件中的所有 a 替换成 H
简介:强大的文本分析工具
语法:awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f scriptfile var=value file(s)
可选参数:
-F fs or --field-separator fs 指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。 -v var=value or --asign var=value 赋值一个用户定义变量。 -f scripfile or --file scriptfile 从脚本文件中读取awk命令。 -mf nnn and -mr nnn 对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。 -W compact or --compat, -W traditional or --traditional 在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。 -W copyleft or --copyleft, -W copyright or --copyright 打印简短的版权信息。 -W help or --help, -W usage or --usage 打印全部awk选项和每个选项的简短说明。 -W lint or --lint 打印不能向传统unix平台移植的结构的警告。 -W lint-old or --lint-old 打印关于不能向传统unix平台移植的结构的警告。 -W posix 打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。 -W re-interval or --re-inerval 允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。 -W source program-text or --source program-text 使用program-text作为源代码,可与-f命令混用。 -W version or --version 打印bug报告信息的版本。
一、 vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode) 和 底行模式(last line mode),各模式的功能区分如下:
二、vi的基本操作
三、命令模式操作
命令 | 作用 |
---|---|
i | 进入编辑模式 |
G | 光标移动到最后⼀⾏ |
gg | 光标移动到第⼀⾏ |
10gg | 移动光标到第10⾏ |
$ | 移动光标到一行的行尾 |
0 | 移动光标到一行的行首 |
o | 移动光标到下一行并进⼊编辑状态 |
A | 移动光标到行尾并进行编辑 |
C | 删除光标到行尾的内容并进入编辑状态 |
cc | 清空当前行的内容并进入编辑状态 |
x | 删除光标处的一个文本 |
yy | 复制当前光标所在行的文本 |
4yy | 复制4行文本 |
p | 粘贴文本 |
4p | 粘贴4行文本 |
dd | 剪切当前光标所在行的文本 |
4dd | 剪切4行文本 |
dG | 将光标所在⾏到最后⼀⾏都删除 |
u | 撤销编辑信息 |
ctrl + r | 取消撤销操作 |
ctrl + v | 进入到批量编辑模式,靠方向键选择区域,然后按d或x可以把选中的删除 |
四、末行模式操作
命令 | 作用 |
---|---|
:wq | 保存退出 |
:q | 不保存并退出 |
:q! | 不保存并强制退出 |
:set nu | 显示行数 |
:set nonu | 取消显示行数 |
/abcd | 搜索文本中的’abcd’,输入n查找下一个。输入shift + n查找上一个 |
要使用该命令需要先下载,使用命令:yum install vim tree bash-completion -y
下载完成后即可使用,使用的方式和 vi 命令相似。
如果在一个会话中编辑文件的时候没有保存或者还在编辑中,另外一个会话中又对该文件进行编辑的话会出现以下提示信息
解决的方式:删除隐藏文件,例如上图的 /mydir/a.txt.swp
恢复编辑数据命令:vi -r 文件
cat /etc/redhat-release
uname
-a或--all 显示全部的信息。
-m或--machine 显示电脑类型。
-n或--nodename 显示在网络上的主机名称。
-r或--release 显示操作系统的发行编号。
-s或--sysname 显示操作系统名称。
-v 显示操作系统的版本。
--help 显示帮助。
--version 显示版本信息。
useradd
创建完的用户可以在 home 目录下看到,此时是没有密码的
passwd
添加密码
su - 指定的用户
管理员切换成普通用户不需要输入密码。切换成 root 需要输入密码
还可以使用快捷键 ctrl + d 来切换上一个用户,切换到最后会退出去。
whoami
Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。
env 查看所有环境变量
env|grep PATH 查看包含PATH的环境变量
echo $变量名 查看指定环境变量,$符号不能少
修改环境变量
以 PS1 (命令提示符信息)环境变量为例。
echo $PS1
修改方式
临时修改
# PS1="[\u@\h \w]\$" 错误修改环境变量⽅式
export PS1="[\u@\h \w]\$" 正确修改环境变量⽅式
永久修改
vim /etc/profile
export PS1="[\u@\h \w]\$ " # 添加内容
source /etc/profile # 重新加载⽂件内容
需要修改yum源⽂件可以使用下面的命令(指定使⽤哪个yum软件仓库) # 类似于pip换源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
epel是一种yum仓库,里面提供了更多、更丰富的linux软件,但是,它不是默认的yum仓库,我们需要手工添加这个yum源
wget
yum -y install wget
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y bash-completion-extras
yum repolist
yum install sl cowsay -y sl
输入命令 sl 会有一个火车跑过去
cowsay
animalsay 此命令可以生成随机的图案
\ ^ /^ \ / \ // \ \ |\___/| / \// .\ \ /O O \__ / // | \ \ *----* / / \/_/ // | \ \ \ | @___@` \/_ // | \ \ \/\ \ 0/0/| \/_ // | \ \ \ \ 0/0/0/0/| \/// | \ \ | | 0/0/0/0/0/_|_ / ( // | \ _\ | / 0/0/0/0/0/0/`/,_ _ _/ ) ; -. | _ _\.-~ / / ,-} _ *-.|.-~-. .~ ~ \ \__/ `/\ / ~-. _ .-~ / \____(oo) *. } { / ( (--) .----~-.\ \-` .~ //__\\ \__ Ack! ///.----..< \ _ -~ // \\ ///-._ _ _ _ _ _ _{^ - - - - ~
selinux
可以限制root⾏为,但是实际应⽤不会使⽤它来限制root较为麻烦
永久关闭
输入命令 vim /etc/selinux/config ,将 enforcing 修改为 disabled
修改完并不会马上改变需要重启系统后生效,可以利用 getenforce 命令查看
临时关闭
setenforce 通过 1 或 0 改变
查看防火墙状态
centos6版本: iptables /etc/init.d/iptables status
centos7版本: systemctl status firewalld.service
临时关闭防火墙
centos6版本: iptables /etc/init.d/iptables stop
centos7版本: systemctl stop firewalld.service
永久关闭防火墙
centos6版本: iptables chkconfig iptables off
centos7版本: systemctl disable firewalld.service
echo $LANG 查看当前系统字符编码
export LANG=en_US.GBK 临时修改
echo "export LANG=en_US.GBK" >>/etc/profile 永久修改
source /etc/profile ⽴即⽣效
yum install -y lrzsz 安装和传输数据相关的软件
下载好可以使用 rpm -qa 查看
Linux --> Widows
sz -y 数据信息 将linux上⾯数据传输给widows主机,会让你选择放置位置
Widows --> Widows Linux
rz -y 传输给 linux主机
PS:空⽂件是⽆法传递的,xshell⽀持拖拽上传
alias 查看别名
which 查看⼀个命令到底在哪个绝对路径中
设置别名条件
1. 别名后⾯单引号中⼀定是完整命令信息
2. 别名后⾯单引号⼀定是英⽂的
临时设置别名
alias rm='echo rm command not use'
alias ls='rm -rf'
永久设置别名
将内容写入 profile 中
echo alias rm='echo rm command not use' >> /etc/profile
source /etc/profile
还需要将 ~/.bashrc 中的内容进⾏注释
ls -lhi /etc/ 查看数据属性信息,如下图
第⼀列: inode信息 index node 索引节点
第⼆列: ⽂件类型 ⽂件权限
第三列: 硬链接数
第四列: 数据(⽂件 ⽬录)的所属⽤户信息
第五列: 数据(⽂件 ⽬录)的所属⽤户组信息
第六列: ⽂件⼤⼩信息
第七列: ⽂件修改时间信息
第⼋列: ⽂件名称(不属于⽂件属性信息)
详细说明
⽂件类型:
windows系统中: 根据⽂件扩展名称信息决定⽂件类型
linux系统中: 系统的⽂件类型和⽂件扩展名关系
linux系统⽂件类型分类:
d directory ⽬录类型的⽂件
- file 普通类型的⽂件
l softlink 连接类型的⽂件
c character 字符类型的⽂件(会源源不断的产⽣字符信息)
b block 块设备类型的⽂件 设备⽂件
s socket 和⽹络接⼝通讯相关(开发 ⽹络编程)
p pip 管道⽂件
1.显示⽂件信息类型命令 file file a.txt 2.显示命令绝对路径信息 which which cp 3.显示命令路径以及⽂件 whereis whereis cp 4. 快速定位⽂件路径信息 locate touch a.txt updatedb # 更新数据库信息, 便于locate命令可以进⾏查找 locate a.txt 5.快速查找数据信息命令 find # 重点掌握 语法说明: find 区域 查找⼈的类型 具体的条件 (1) 寻找⼀个a.txt find /temp -type f -name "a.txt" (2) 寻找⼀个以.txt扩展名结尾的⽂件 find /temp -type f -name "*.txt" (3) 按照⽂件数据⼤⼩进⾏查找⽂件,查找⼤于10k的⽂件,但⼩于10M find /etc/ -type f -size +10k -size -10M # 默认递归 (4) 限制查找层级 find /etc/ -maxdepth 1 -type f -size +10k -size -10M
tar命令用来打包一个目录,它支持三种格式:“.tar”、“.bz2"和”.gz"
参数 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
压缩
tar -cvf [文件名].tar [文件目录] //打包成.tar文件
tar -jcvf [文件名].tar.bz2 [文件目录] //打包成.bz2文件
tar -zcvf [文件名].tar.gz [文件目录] //打包成.gz文件
解压
tar -xvf [文件名].tar //解压到当前文件
tar -xvf [文件名].tar -C [文件目录] //将.tar文件解压到指定目录
tar -jxvf [文件名].tar.bz2 -C [文件目录] //解压.bz2文件到指定目录
tar -zxvf [文件名].tar.gz -C [文件目录] //解压.gz文件到指定目录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。