linux命令语法:
命令_参数_路径文件 ("_"为空格)
rm_-f_/tmp/t.log
特殊符号
.. 上级目录
. 当前目录
. 代表点号 ( 让一个有意义的字符,脱掉马甲)
| 管道(把前一个命令结果的输出交给后一个程序继续处理)
~ 用户的家目录,针对root ~就代表/root
; 分隔符 分割连个不同的命令
{} 生成序列包括数值和字符,类似seq, echo stu{001..100}生成stu001 到 stu100的文件
!+字母 调用最近以m开头的命令
!! 表示使用最近一次操作的命令 相当于 向上 按键
'! +数字' 表示调出历史的第几条命令
- 用户上次所在的目录
* 代表0到无穷个数,可自动识别 file*(*=1......)
? 代表一个有一定意义的字符 file? file?? file???.....
快捷键
tab 命令或路径补全键
ctrl+c 终止当前任务命令和程序
ctrl+d 退出当前用户环境
ctrl+a 光标移动到最前
ctrl+e 光标移动到最后
ctrl+u 剪切光标前的内容
ctrl+k 剪切光标后的内容
ctrl+l 清屏 clear
ctrl+Shift+c ssh客户端SecureCRT里复制的命令
ctrl+Shift+v ssh客户端SecureCRT里黏贴的命令
操作命令
- pwd : 显示当前工作目录

- ls: 显示文件和目录列表。 ls [参数] [文件/目录..]

ls -a : 显示所有文件可目录,包括隐藏文件。
ls -l : 使用长格式列出信息
ls -lh: 人性化的展示文件列表 h = human
ls -c :根据状态改变时间(ctime)排序
ls -t :根据最后修改时间(mtime)排序
ls -u :根据最后访问时间(atime)排序
ls -d: 显示目录属性
ls -ld: 显示长格式的属性
[root@sam ~]# ls -ld
dr-xr-x---. 32 root root 4096 May 4 12:34
- cd: 切换目录。cd [参数] [目录]
cd /tmp/dir (绝对路径)
cd ~ 返回根目录
cd .. 返回上级目录
cd ../.. 返回上两级级目录
cd - 返回上一次查找目录
- mkdir : 创建目录。 mkdir [参数] <目录>
mkdir somepath/
mkdir -p some/path/dir/ 创建目录树 (-p递归创建目录)
- rmdir: 删除空目录。 rmdir[参数]<目录>
rmdir somepath/
rmdir -p some/path/dir/ 删除目录树
- rm: 删除文件 rmdir[参数]<文件名/目录>
rm -f filename 删除文件
rm -fr directionname 删除目录
- cp : 复制文件或目录。cp[参数]<源文件><目录>
cp a.txt b.txt 复制一个文件生成另一个文件
cp some/dir/file other/dir/file2
解除cp= 'cp -i' (-i 需要人工确认),进入alias, /cp 可屏蔽'cp -i'的人工确认
- mv : 移动文件或目录、文件或目录改名。mv[参数]<源文件><目录>
mv /some/dir/file1 /some/dir/file2
mv file newname_file
- touch: 生成新的空文件或更改现有文件的时间戳。 touch [参数] <文件>
touch file
touch -a file (只更改访问时间)
touch -m file (只更改访问时间 )
touch -t 201604281133(时间戳) file
- ln : 创建链接文件 ln [参数]<被链接的文件><链接文件名>
ln somefile otherfile
ln -s somefile otherfile (创建符号链接,非硬链接)
- cat : 查看文件内容
cat file1 从第一个字节开始正向查看文件内容
tac file1 从最后一行开始反向查看一个文件内容
cat -n /dir/path 显示行号 查看文件内容
cat >>test.txt <<EOF: 把内容写入文件中
- echo : 打印输出内容 echo 输出内容
echo “文件内容" > file 覆盖文件内容
echo "文件内容”>> file 追加文件内容到文件尾部
- vi / vim<文件名>: 进入记事本模式/emeditor编辑器.
i,a 进入文本编辑,“Esc”退出文本编辑
w = write q = quit != 强制
:wq :q :q! :wq! 退出vi/vim
:set nu显示行号,dd删除当前行, yy拷贝当前行, p黏贴
G切换到文件尾部, gg切换到文件头部, 行号gg定位改行
vim .<文件名> 创建一个隐藏文件
- head: 显示文件头部内容,默认10前行;
-n 显示首行到n行数的内容 -行数,
- tail : 显示文件尾部内容,默认最后10行
-n 显示文件尾部到倒数第n行
tail -3 test.txt
head -30 test.txt|tail -11 显示文件第30行到倒数11行的内容
-f 跟踪显示文件尾部的实时变化
- more:从文件头到文件尾分屏显示文本
more file
more +n file 从第行开始显示文本
- cut : 纵向切割出文本指定的部分并写到标准输出。cut [参数] <文件>
cut -b-5 file 分割出每行前五个字节
cut - c5- file 分割出每行最后五个字节
- find : 用于在文件喜用中查找满足条件的文件。
查找文件 按-type 文件类型查找
! 取反 , -a(and) 并且, -o (或者)
find /目录/
find /目录/ -type f 查找目标 文件
find /目录/ -type d 查找目标 目录
find /目录/ -type f -exec rm -f {} : 删除目标文件(-exec 处理查找的结果)(rm -f 前面找到的内容进行处理)({} 查找到的内容)(: 转译)
find /目录/ -type f|xargs rm -f 删除目标文件
删除指定文件外的其他文件 (!取反值)
find /目录/ -type f ! -name "文件名" -exec rm -f {} :
find /目录/ -type f ! -name "文件名"|xargs rm -f
- sed :(stream editor) 过滤内容,取行,
-n取消sed默认输出, sed -n '/A/p' test.txt 打印包含'A'的行
sed -n '2p' test1.txt (-n 取消默认,'2p' 打印第2行)
sed -n '3p' test1.txt (-n 取消默认,'2p' 打印第3行)
sed -n '20, 30p' test1.txt (-n 取消默认,'2p' 打印第2至5行)
-i 改变文件内容
sed -i 's#原内容#替换内容#g' test1.txt 替换文件内容 (-i 修改文件内容)
'/内容/d' d = 删除, p = 打印
sed '/AA/d' test1.txt 过滤文件中‘AA’的内容
sed 's#原内容#替换内容#g ' test.txt 替换文件内容
s=(查找并替换) g=(globa全局)
#=分隔符,也可以用其他符号
查找目录内的指定文本,并替换文本内容。
find/ root/data/ -type f -name "test.txt"|xargs sed -i 's#oldboy#oldgirl#g'
find/ root/data/ -type f -name "test.txt" exec sed -i 's#oldboy#oldgirl#g' {} ;
- awk: 过滤内容(取列)
awk '{print $1}' 打印第一列,分隔符为空格
awk '{print $1""$2"" $NF}' oldboy.txt ($NF 表示最后一行)
awk -F ":" '{print $1"="$2"="$3}' /etc/passwd (-F为指定分隔符)
$1第一列 $2第二列 $3第三列 $NF最后一列,$(NF-1)
awk '{if (NR>31 && NR<19) printf $1 "
"}' test.txt
NR代表行号,&&(and)并且
回车换行 $1第一列($0 全部内容)
- grep : 过滤器, 把想要的或者不想要的分离开
grep "内容" 文件名: 截取指定内容
grep -v "内容" 文件名:截取指定内容外的内容(-v排除)
grep -i 包括大小写
grep -E 过滤多个字符串
grep -E "字符1|字符2" /文件名/
grep -o 输出精确匹配的字符,非整行
grep -B 除了显示匹配的一行之外,并且显示该行之 前 的num行
grep -A 除了显示匹配的一行之外,并且显示该行之 后 的num行
grep -C 除了显示匹配的一行之外,并且显示该行之 前后各 num行
grep 30 -B 10 test.txt
grep 20 -A 10 test.txt
grep 25 -C 5 test.txt
cat test.txt|grep -v "oldboy" test.txt 先用cat查找内容,然后grep过滤
- alias: 查看以及定义别名
alias (自定义命令) = (原命令) 定义别名信息
alias ipconfig = 'ifconfig'
alias rm ='echo "rm can not be used, pls use mv"'
别名生效的位置:针对root用户:/root/.bashrc
所有用户生效: /etc/bashrc 或 /etc/profile定义
生效souce /etc/profiles
- unalias: 取消别名
unalias (自定义命令) 删除别名
unalias ifconfig
- tree : 显示目录树
tree /文件目录/
tree /root/sam/
- yum :linux里包管理器, 帮助解决依赖问题
yum install tree -y 现在tree包调用rpm安装,并安装其他相关的包
yum update更新所有软件。
- rpm : -ivh (安装、显示输出,人类可读展示)
rpm -ivh /路径/包名. rpm
rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm
-i 表示安装
-v 可视化
-h 显示安装进度
rpm -qa tree (-q query, -a all)
rpm -e 已安装程序:卸载软件
- seq: sequence序列 -s 指定序列的分隔符 -w
seq [首行] [尾行]
seq [首行] [步长] [尾行]
- xargs : 把前面的结果在后面逐个处理, 相当于 { }的功能
find /目录/ -type f|xargs rm -f 删除目标文件
- useradd : useradd [用户名]
查看创建用户信息
tail -1 /etc/passwd 用户名
tail -1 /etc/group 用户组名
tail -1 /etc/shadow 用户密码
- man: 按照手册的章节号的顺序进行搜索的
man (指令) : 帮助内容比help详细
- help: 查看所有Shell内置命令的帮助信息
help (命令): 帮助内容比man简单
32. paste : 纵向合并多个文本并写到保准输出。 paste [参数][<文件>]
paste file1 file2
paste -s file1 file2 不使用平行的行目输出,每行文件占用一行
paste -d ' ' file1 file2 (-d ' ' 分隔符)
33. sort: 以行为单位对文件进行排序. sort[参数][<文件>]
sort <文件>
sort -n <文件> 按字符串的数值进行排序
34. uniq :删除文本文件中相邻的重复的行并写到标准输出
uniq [参数] [<输入文件>[<输出文件>]]
unip -d <文件> 只显示重复出现的行。
unip -u <文件> 只显示出现一次的行。
35. wc :统计指定文本文件的行数、字数、字符数。
wc [参数][<文件>]
wc -w <文件> 统计字数
36. file: 显示文件类型
file [参数]<文件>
37. history 打印出用户操作命令的历史记录
38. uname 查看系统信息
uname -r 内核
uname -m 32bit/64bit
uname -a 查看所有信息
39. hostname 查看主机名
40. passwd: 修改用户密码
passwd [用户名]
passwd -S [用户名] 显示用户口令状态
passwd -l [用户名] 锁定账户
passwd -u [用户名] 接触已锁定的账户
41. whoami :查看当前用户
42. su [用户名] 切换用户

su - [用户名] 切换用户并切换环境
43. sudo: 让普通用户执行root权限的命令
sudo [命令]
输入密码
44. dmesg:显示开机信息
dmesg | grep eth0 : 查看第一张网卡的信息

45. uptime:显示从开机到当前的时间
46. stat:显示文件状态信息或文本系统信息
stat [参数] [<文件>]
stat -f 显示文件系统信息
stat -t 使用简洁格式输出信息
47. du:统计问津的磁盘用量,目录取总用量. du[参数]
du -c 显示所有项目相加后的总量
du -h 以人类习惯的方式显示
du --max-depth=N (统计N层目录,N为整数)
48. df:查看磁盘剩余情况
df [参数]
df -h 以人类理解的方式显示磁盘当前的使用量
49. top:实时显示进程任务
top [参数]
top -s 使用安全模式消除互动模式下的潜在威胁
50. free:显示内存使用状况
free [参数]
free -s<秒速> 持续观测内存状况,<秒>刷新
free -m 以MB为单位显示内存使用情况

51. LANG 修改系统语言
LANG = en 使用English解决乱码问题
52. getenforce: 检查selinux状态
53. setenforce: 设置selinux状态 1启动 0警告、不启动
54. runlevel:查看当前系统运行级别
55. init: 切换运行级别,后面接对应级别的数字
56. chkconfig: 设定开机启动服务

chkconfig | grep network

57. diff: 比较,接两个文件
58. vimdiff: 高级比较,高亮显示两个文件内容区别

59. chown: 改变文件的用户权限
chown [用户/属主].[用户组/属组] <文件名>
60. chmod: 修改文件权限
chmod [权限] <文件名>

61. rev: 把每行的内容翻转
62. which: 在环境变量PATH设置的目录下查找指定文件的位置 which[参数]<文件>
which [命令]

which -a [命令] -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称

63. whereis 在特定目录中查找符合条件的文件
whereis[参数]<文件>
-b :只找 binary 格式的文件
-m :只找在说明档 manual 路径下的文件
-s :只找 source 来源文件
-u :搜寻不在上述三个项目当中的其他特殊文件

64. locale 显示本地支持的语言系统信息
locale [参数]

-a: 显示本地支持的语言系统
65. locate 查找系统中所有与 被查找内容 相关的档名
-i :忽略大小写的差异;
-r :后面可接正规表示法的显示方式

66.
SSH Secure Shell Protocol
SSH 是专门问远程登录回话和其他网络服务提供的安全协议
openssh提供SSH服务的程序
openssl视为SSH提供链接加密的程序
ps -ef|grep ssh 启动ssh服务
SSH服务器 192.168.36.129:22
SSH客户端 Windows平台 SecureCRT, Xshell, Putty
ss- lntup|grep ssh
netstat -lntup|grep 22 启动SSH服务
ps -ef 查看进程的命令
netstat -lntup 查看端口的命令
ifconfig 查看配置IP地址
ip add 查看配置 IP地址
SSH服务连通性检查:
- 物理链路
ping server_ip (ICMP协议,默认64字节包)
windows cmd: ping 192.168.11.11 (ip地址)
- 检查服务器 telnet 192.168.11.11 22 检查服务端是否正常
不能连通服务器:
检查物理链路
关闭服务器防火墙
/etc/init.d/iptables stop
检查服务器和客户端是否在同一网段
互传文件
WINDOWS 《====》 LINUX
ftp/winscp/http/rz-sz
yum install lrzsz-y 安装文件
yum install telnet lrzsz nmap dos2unix -y
rz -y 选择上传文件
sz -y 选择现在文件
-y 覆盖同名文件
正则表达式
. 单个任意字符 * 重复前面任意0个或多个字符
.* 匹配任意字符
sed -i 's#(可以用正则匹配)#、3#g' oldboy.txt '( )' 可以用正则匹配
sed - r 's#(.*)fff#1#g' oldboy.txt