第一节:命令格式
命令 [-选项] [参数]
选项具有简化写法:-a等于—all
目录处理命令
ls
命令所在路径:/bin/ls 执行权限:所有用户 功能:显示所有目录文件
语法: -a 显示所有的包括隐藏
-l 显示详细信息,权限
-d 显示目录属性
mkdir
命令所在路径:/bin/mkdir 执行权限:所有用户 功能:创建新目录i
语法: 也可以直接空格隔开创建多个目录
-p 递归创建,创建一个虚有目录下的一个目录(同时创建俩)
-m 设置属性,创建时[-g 777] 文件名 设置属性
cd
命令所在路径:shell内置 执行权限:所有用户 功能:切换目录
语法:cd [目录]
Cd .. 返回上级
pwd
命令所在地:/bin/pwd 执行权限:所有用户 功能:显示当前目录
rmdir
命令所在路径:/bin/rmdir 执行权限:所有用户 功能:删除空目录
cp
命令所在路径:/bin/rmdir 执行权限:所有用户 功能:复制文件或目录
语法:不考虑语法的复制只能复制文件,而复制目录则要考虑语法了
和创建目录一样,可以一次复制多个目录或文件
-rp [源文件或目录] [目标目录]
-r 复制目录
-p 保留文件属性
复制并改名:在目标目录后加上更改后的名字
mv
命令所在路径:/bin/mv 执行权限:所有用户 功能:剪切文件;更名
【ctrl+l 清屏】
剪切并改名:在目标目录后加上更改后的名字
改名:直接mv 文件 新名字
rm
命令所在路径:/bin/rm 执行权限:所有用户 功能:删除文件
语法: -r 删除目录
-f 强制执行
-rf [文件或目录]
【ctrl+c 推出命令】
文件处理命令
touch
命令所在路径:/bin/touch 执行权限:所有用户 功能:创建空文件
可以创建含有空格的文件,不过要用双引号圈起来
cat(适合内容短的)
命令所在路径:/bin/cat 执行权限:所有用户 功能:显示文件内容
语法:-n 显示行号
more
命令所在路径:/bin/more 执行权限:所有用户 功能:分页显示文件内容
语法: 空格或f 翻页
Q或q 退出
Enter 换行
less
命令所在路径:/bin/less 执行权限:所有用户 功能:分页显示文件内容
语法: 以用page up向上向下翻页,用上下键换行。
可以用 / 后面加目标名字,就可以高亮,用 n 显示下一个高亮
head
命令所在路径:/bin/head 执行权限:所有用户 能:显示前几行
语法: -n 指定行数(不指定,默认十行)
tail
命令所在路径:/bin/tail 执行权限:所有用户 功能:显示最后几行
语法: -n 指定行数(不指定,默认十行)
-f 查看动态显示,比如日志
sed(查看5到10行数据)
sed -n ‘5,10p’ 文件名
文件打包
tar cfv av_gv.tar av gv
tar cfvz av_gv.tar.gz av gv
文件解压
tar xfv av_gv.tar -C /music
tar xfvz av_gv.tar.gz –C /music
链接命令
Ln
【权限的第一个如果是 - ,则表示是一个文件;如果是 d ,则表示是一个目录;如果是 l ,则表示是一个软链接文件】
命令所在路径:/bin/ln 执行权限:所有用户 功能:生成链接文件
语法:-s 原文件 目标文件
加上-s是创建软链接,不加是硬链接
区别: 软链接有指向源文件,硬链接没有
软链接有所有用户都拥有全部权限
原文件变动,软链接不能使用,硬链接还可以
权限管理命令
chmod
【权限的人分为u g o ; 权限是:r w x ,对应读,写,执行,对应数字代号:4,2,1】
命令所在路径:/bin/chmod 执行权限:所有用户 功能:改变文件或目录权限
语法:chmod {u g o a} {+ - =} {rwx} 文件或目录
可以一次执行多个操作,逗号隔开:chmod u+x,o-x 1txt
-R 递归修改;不仅将这个目录改掉,而且将目录下所有文件都改掉
chown
命令所在路径:/bin/chown 执行权限:所有用户 功能:改变文件所有者
语法: chown 新用户 文件名
只有管理员才可以操作,文件所有者也不行
chgrp
命令所在路径:/bin/chgrp 执行权限:所有用户 功能:改变文件所有组
语法:chgrp 新组名 文件名
文件搜索命令
find
命令所在路径:/bin/find 执行权限:所有用户 功能:文件搜索
语法: find 范围 条件
根据名字搜索:
find /etc –name init 只搜索“init”的文件
find /etc –name “*init” 搜索以init结尾的文件
find /etc –name “*init*” 搜索含有init的文件
find /etc –name “init???” 搜索init后有三个字符的文件
find /etc –iname “*init” 搜索init或者INIT的文件
find / -size {+ -} 204800 搜索大于或者小于204800字节的文件 【换算:1数据块=512字节=0.5k 1m=1024字节=2048k】
find / -user 用户名
关机重启命令
shutdown
语法: shutdown –h now 现在关机
shutdown –h 20:30 八点三十关机
shutdown –r now 现在重启
shutdown –c 取消前一个关机命
文本编辑器vim
三种模式:尾行模式,命令模式,编辑模式
刚刚打开vim的时候处于命令模式,就是快速进行一些操作比如vim到文件下,可以删除修改增加。
编辑模式就是想写啥就写啥;
尾行就是最后一行的命令。
注意:进行编辑:用O(下一行开始编辑)/I(行首)/A(下一个开始)/S(删除当前并开始)
退出编辑 ESC shift :
输入推出命令 q 退出; q!强制退出; wq保存退出.
查看命令:
ctrl u(d) 向文件首(尾)翻半屏; ctrl b(f) 向文件首(尾)翻一频
:行号 跳到哪一行; :$ 跳转最后一行;
?ename 所有含有的都会高亮; :n 命令模式下继续下一个文件;
查找命令:
a,b s/t/f 将第a到b行的t替换成f(一次替换一列)
显示编辑行数 :set nu
命令模式下的光标快速移动快捷键:
单词间的移动 w移动到下一个单词首;
e移动到本单词尾;b移动到本单词首;
行级间的移动
$行尾;0行首;j下一行;k上一行;{上移一段;}下移一段
屏级移动
H本屏幕第一行;L本屏幕末尾
文章移动
G移到文章开头;1G文章结尾
配合光标的移动,实现快速删除和复制
删除 d+移动键
删除当前字符 x
删除一行 dd
复制 v 移动 y 转到目标地点 p
复制一行 yy 转到目标地点 p
复制n行 n y y 转到目标地点p
剪切n行 n 转到目标地点p
其他命令:
前后字符交换 xp
前后两行交换 ddp
重复上一次命令 .
撤销命令 u
合并两行 J
特殊使用技巧:
命令模式下 :r 路径 【这是导入指定路径文件的内容】
:r!date 【增加时间注释】
:map ^p I#<esc> 【注释行快捷键设置】
:map ^l Ohaihcaoxie 【快捷键o,是脚本底】
Shell脚本
直接用vim创建文件用.sh做后缀只是为了区别,没什么意义
基本格式:
#!/bin/bash
命令
输入输出重定向【这里不仅可以用echo,还可以用ls等等】
命令>文件 覆盖原文件
命令>>文件 追加文件
错误命令 2> 文件 覆盖原文件
如果把正确和错误写一起:
命令 &>文件
如果各保存各的:
命令>>文件1 2>>文件2
查看历史命令:
History
别名:
alias bieming=’mv’
常用快捷键
Ctrl+c 强行终止
Ctrl+L 清屏
Ctrl+u 删除或者剪切光标之前的语句
Ctrl+y 粘贴剪切或者复制的内容
Ctrl+d 退出当前终端
定时任务
概念:系统某些命令需要定时执行
分类:系统工作zhao:如病毒扫面
个别用户的期望程序
写法:crontab -e
(分时日月周)*****分别代表上面的字
crontab -e
2 1,2 * * * aaa#代表每天1点或2点02分执行aaa命令
crontab -e
*/2 * * * * aaa#代表每两分钟执行aaa命令
编写玩之后可以shift+: 再写wq (强制存盘退出编写)
Crontab –l 查看当前定时任务
Crontab –r 停止当前任务
日志管理
查看日志是否启动:
ps aux | grep rsyslogd
常用日志
日志存放位置:/var/log
定时任务相关日志:/var/log/cron
错误登陆日志:/var/log/btmp 用lastb查看
系统中用户最后一次登陆时间:/var/log/lastlog 用lastlog查看
记录重要信息日志:/var/log/message
FTP的使用
实例:练习(脚本中的写法)
cd 放置地点
ftp –v –n 192.168.22<<EOF
user root root123
cd 位置
get 目标
bye
EOF
常用命令
组
创建:Groupadd 组名
修改组名:groupmod –n 新名字 旧名字
删除组:groupdel 组名
为用户指定分组:useradd 用户名 –g 组名
修改用户分组:usermod –g 新组名 用户名
其他
- 创建用户:useradd(记住:创建用户先创建组)
- 用户改名:usermod -l 新名字 旧名字
- 删除用户:userdel 用户名(userdel –r 用户名----删除用户根目录)
- 新用户更改密码:passwd 用户名
- 更换用户:su – 用户名
- 查看用户信息在/etc/passwd /*678上下都配合tail查看比较快*/
- 查看分组信息在/etc/group
- 查看密码信息在/etc/shadow
- 创建用户组:groupadd
- 查找世间date +%Y%m%d
- 找世间date +%Y%m%d
- 管道查找:find . –name “*txt” | xargs grep 最里面的东西
- 查看空间使用状态:free
- 查看任务管理器:top
- 查看当前进程:ps
- 关闭某项进程:kill -9 进程号
- 退出任务管理器:q
- 查看文件内容:more
- 查看文件内容:tail -3(或者倒数几行) /路径
- 重新启动:reboot
- 删除当前文件夹的所有:rm –rf ./* 注意:禁术
- 计数:aa=`cat 122.txt|wc -l`
- 查看文件是否存在:
If [ -e /home/122.txt ]
- If 的结束是fi ;而且都要用[]框起来
If [ $aa –eq $bb ];then
Echo “yes”
fi
变量
aa=`cat 122.txt|wc -l`
${aa}