第一次内网实验
-
ls
-
英文原意 list
-
命令路径 /bin/ls ,说明所有用户都可以执行的,因为不在sbin中
-
显示目录文件
-
ls [-ald] [文件或目录],-d是只查看目录本身
-
-i 任何目录的一个id号,i节点
-
-
文件类型
-
-文件
-
d目录
-
l软链接
-
-
文件权限
-
-rw-r–r–
-
所属者u ,所属组g,其他用户o
-
r读,w 写,x执行
-
-
mkdir
-
英文:make directiories
-
所在目录: /bin/mkdir
-
语法: mkdir -p 【目录名】
-
-p是创建多级子目录
-
mkdir {1..10}.txt
-
-
cd
-
change directory :更改目录
-
shell内置命令
-
cd 【目录】
-
-
pwd
-
print working directory:显示当前目录
-
/bin/pwd
-
-
rmdir
-
remove empty directory:删除空目录
-
/bin/rmdir
-
-
cp
-
copy:复制文件或目录
-
/bin/cp
-
语法:cp -rp 【源文件或目录】 【目标目录】,-r是复制目录,-p是保留属性
-
复制的同时可以改名
-
-
mv
-
move:剪切文件、改名
-
/bin/mv
-
mv 【源目录或文件】 【目标目录】
-
-
rm
-
remove:删除文件,如果加 -r 可以删除目录
-
/bin/rm
-
语法:rm [-rf] 【删除的文件或目录】,-r是删除目录,-f是强制执行
-
文件处理命令
-
touch
-
touch:创建空文件
-
/bin/touch
-
语法:touch 【文件名】
-
注意: touch “a b ” 中间有空格的话用引号括起来,否则表示两个文件
-
-
cat
-
cat:显示文件内容,-n 显示行号
-
/bin/cat
-
语法: cat 【文件名】
-
cat 不适合浏览内容比较多的文件,怎么办呢?使用more命令
-
-
tac
-
/usr/bin/tac:cat倒着写,功能就是倒着输出内容
-
-
more
-
more:分页显示文件内容,适合内容较多的文件查看
-
/bin/more
-
语法:more 【文件名】
-
浏览的时候,翻页:f或空格(f可能表示forward) ,换行:enter回车键 ,退出:q
-
注意:more命令不能往回翻看,如果有的时候我们查看文件,但是翻过了,怎么办呢?使用less
-
-
less
-
less:分页显示文件内容,还可以搜索
-
/usr/bin/less
-
语法:less 【文件名】
-
向上翻页是由pageup或向上箭头,搜索使用 : /搜索内容 ,使用 n 跳转到搜索的下一个内容(n表示next)
-
-
head
-
head:显示文件内容的前面几行,使用 -n指定行数,默认是10行
-
/usr/bin/head
-
语法: head -n 行数 【文件名】 ,-n 表示lines
-
-
tail
-
tail:查看末尾的几行
-
/usr/bin/tail
-
语法: tail -n 行数 【文件名】
-
链接命令
-
ln
-
link:生成链接文件
-
/bin/ln
-
语法:ln -s 【源文件】 【目标文件】 ,ln -s 创建软连接
-
示例:ln -s /etc/issue issue.soft 创建软连接,ln /etc/issue issue.hard 创建硬链接
-
软连接类似windows的快捷方式,软连接的权限是 lrwxrwxrwx
-
硬链接其实就如同 cp -p +同步更新 ,如同拷贝,并且保存了文件的属性,但是和拷贝不一样,硬链接会保持同步更新
-
当源文件删除后,软件自然是找不到源文件了,但是硬链接依然可以访问,相当于可以做一个实时备份,但是硬链接不能跨分区。但是软连接可以。硬链接不可以将目录作为一个硬链接,软连接可以
-
硬链接的i节点和源文件相同
-
文件搜索命令
-
find
-
find:文件搜索
-
/bin/find
-
find 【搜索范围】 【匹配条件】
-
搜索方式
-
-name更具名字,-iname名字不区分大小写
-
-size 根据文件大小
-
-user 根据用户
-
-amin -cmin -mmin 根据时间属性查找(access 访问时间 change 文件属性 modify文件内容)
-
-
案例:
-
find /etc -name init :将/etc 下面的所有init文件找到
-
find /etc -name init :将/etc 目录下所有包含init的文件找到
-
find /etc -name init* :将/etc目录下所有以init开头的文件找到
-
find /etc -name init??? :以init开头后面跟三个字符的
-
-iname 不区分大小写
-
find / -size +204800:查找/根目录大于204800大小的文件,使用 – 号表示小于,不加符号表示等于
-
find /home -user zrw :查找home下用户zrw的所有文件
-
find /etc -cmin -5:查找5分钟之内修改过属性的文件(-5 表示5分钟内,+5 表示超过5分钟)
-
find /etc -name inittab -exec ls -l \; :表示查找/etc下名字为initab 并且显示详细信息
-
-
条件:
-
-a表示and,比如: find /etc -size +1680 -a -size -2000 :查找大于1680小于2000的文件
-
-o 表示or
-
-
-
locate
-
locate:在文件资料库中查找文件,类似于windows下everything这个软件,查找非常快
-
/usr/bin/locate
-
locate 【文件名】
-
updatedb 更新资料库
-
-
which
-
which:搜索命令所在位置以及别名
-
语法:which 【命令】
-
案例: which ls
-
-
whereis
-
whereis :搜索命令所在位置以及帮助文档的路径
-
语法:whereis 【命令名称】
-
-
grep
-
grep:在文件中搜索字符串匹配的行并输出
-
-i ,不区分大小写
-
-v,排除指定字符串
-
语法: grep mysql /root/install.log :在log中查找mysql相关的行
-
grep -A 3 “root” /etc/passwd:-A表示后3行,-B表示前面
-
权限管理命令
-
chmod
-
change the permissons mode of a file:改变文件或目录的权限
-
/bin/chmod
-
语法: chmod [ {ugoa}{+-=}{rwx}] 【文件或目录】,或者使用数字 chmod 777 【文件名或目录】
-
-R可以递归修改,会改变某一文件或目录下说有文件或目录的权限
-
权限。
-
r: ls
-
w: mkdir/rm/rmdir/touch
-
x: cd
-
-
-
chown
-
change file ownership:更改权限所有者
-
/bin/chown
-
chown 【用户】 【 文件或目录】
-
-
chgrp
-
change file group ownership:改变文件霍姆的所有组
-
/bin/chgrp
-
chgrp 【用户组】 【文件或目录】
-
-
创建用户和组
-
创建用户: useradd 名字 ,passwd 密码
-
创建组: groupadd 组名字
-
-
缺省创建权限
-
umask -S :查看默认权限设置
-
帮助命令
-
man
-
manual:获得帮助信息,帮助手册
-
/usr/bin/man
-
语法: man 【命令或配置文件】
-
案例
-
man ls
-
man services:配置文件
-
-
man 1 【命令】 、man 5 【配置文件】,如果一个命令同时也是配置文件,那么可以使用这种方式进行查看
-
当然配置文件也可以使用 apropos 配置文件
-
-
–help
-
–help:只会将主要选项列出来,几乎所有的命令都可以使用help
-
【命令】 –help
-
-
info
-
information:与man差不多
-
-
whatis
-
whatis:查看命令简短信息
-
whatis 【命令】
-
案例: whatis ls
-
-
help
-
help:shell内置命令的帮助信息,其实shell就是一个命令解析器
-
语法:help 【shell内置命令】
-
案例: help umask,如果使用man umask是查不到帮助信息的,因为它属于shell内置命令,所以要使用help
-
比如不知道 if 怎么用,可以: help if ,因为 if for 都是内置命令
-
压缩解压命令
-
gzip
-
GNU zip:压缩文件成.gz的文件
-
路径:/bin/gzip
-
语法:gzip 【文件}
-
注意:压缩后的文件格式为 .gz,注意这个命令只能压缩 文件,不能压缩目录,压缩后不保留源文件
-
-
gunzip
-
GNU unzip:解压缩.gz的压缩文件
-
等效于:gzip -d
-
语法:gunzp 【gz压缩文件】
-
-
tar
-
tar:打包目录
-
路径:/bin/tar
-
语法:tar 选项【-zcf】 【打包及压缩后文件名】 【目录】
-
-c :打包
-
-v:显示详细信息 verbose
-
-f:指定文件名 file
-
-z:打包的同时进行压缩
-
-
注意:压缩后的文件格式:.tar.gz
-
案例:
-
tar -cvf test.tar ./test :打包test目录,文件名为test.tar。然后可以再进行压缩:gzip test.tar
-
tar -zcvf test.tar.gz ./test :打包的同时进行压缩,等效于前面两个步骤
-
-
解压缩:tar 选项【-zxvf】 【文件名】
-
-x:解包:extract
-
-z:解压缩
-
-f:文件名
-
-v:显示详细信息
-
-
-
zip
-
zip:压缩文件或目录,windows也存在这种格式,linux的压缩格式windows几乎都可以解压,但是反过来就不一定
-
路径:/usr/bin/zip
-
语法:zip 选项【-r】 【压缩后文件】 【文件或目录】,-r 指压缩目录
-
压缩后的文件名:.zip
-
对比gzip:zip压缩完后可以保留源文件,再加 -r 可以压缩目录,但是压缩比不是很高
-
-
unzip
-
unzip:解压.zip 压缩文件
-
unzip 【压缩文件】
-
案例:unzip test.zip
-
unzip test.zip -d /tmp/test1:指定目录
-
-
bzip2
-
bzip2:压缩文件,压缩后文件为.bz2
-
路径:/usr/bin/bzip2
-
语法:bzip2 选项【-k】 【文件】
-
-k产生压缩文件后保留原文件
-
-
与gzip对比:gzip的一个升级版本,比gzip多了一个选项 -k,压缩比非常惊人
-
与tar结合: tar -cjf 【打包及压缩后文件名】 【目录】:打包并压缩成.bz2文件。-f表示以bzip2格式进行压缩
-
tar -cjf test.tar.bz2 ./test :打包并压缩成bz2格式
-
tar -xjf test.tar.bz2 :解压缩
-
-
-
bunzip2
-
bunzip2:解压缩
-
语法: bunzip2 选项【-k】 【压缩文件名】
-
网络命令
-
write
-
write:给用户发送消息,以 Ctrl+D保存结束
-
路径:/usr/bin/write
-
语法:write <用户名>
-
write zrw:之后就可以输入内容,进行通信
-
-
wall
-
write all:发广播消息,给所有用户发送消息
-
路径:/usr/bin/wall
-
语法:wall 【消息】
-
-
ping
-
ping:测试网络连通性
-
/bin/ping
-
语法: ping 【选项】 【ip地址】,-c 指定发送次数
-
-
ifconfig
-
ifocnfig:interface configure,查看和设置网卡信息
-
/sbin/ifconfig:执行权限root
-
语法:ifconfig 【网卡名称】 【ip地址】
-
案例:ifconfig eth0 192.168.116.5 :临时更爱eth0网卡的ip地址,注意是临时的,重启不生效
-
-
mail
-
mail:查看发送电子邮件
-
/bin/mail
-
语法:mail 【用户名】
-
案例:mail root :向root用户发送mail
-
接收:直接输入mail ,可以查看接收的mail,使用help可以查看mail支持的命令格式,然后输入对应的命令查看内容,输入序列化可以看具体的那封信
-
有时系统会给root发送邮件,这些邮件一般都是很重要的
-
-
last
-
last:列出目前与过去登入系统的用户信息
-
语法:last
-
-
lastlog
-
lastlog:检查某特定用户上次登录的时间
-
语法:lastlog 【-u】 【用户id】
-
案例:lastlog -u 502
-
-
traceroute
-
traceroute:显示数据包到主机之间的路径
-
路径:/bin/traceroute
-
语法:traceroute
-
案例: traceroute www.baidu.com
-
注意:你在网上的任何操作都是有记录的,所以要小心
-
-
netstat
-
netstat:显示网络相关信息
-
语法:netstat 【选项】
-
-t:TCP协议:tcp有点像打电话,先要接听,双方确定身份,而udp有点像发短信,不管你在不在就发了
-
-u:UDP协议
-
-l:监听
-
-r:路由
-
-n:显示IP地址和端口号
-
-
案例
-
netstat -tlun:查看本机监听的端口
-
netstat -an:查看本机所有的网络连接
-
netstat -rn:查看本机的路由表
-
-
-
setup
-
setup:配置网络,是redhat自带的管理工具集合,在其他版本中不存在
-
-
mount
-
mount:挂载
-
/bin/mount
-
语法:mount [-t 文件系统] 设备文件名 挂载点
-
案例: mount -t iso9660 /dev/sr0 /mnt/cdrom
-
linux的外设都要手动挂载
-
-
umount
-
umount:卸载,比如你挂载了光盘,现在要弹出光盘的话,在linux中需要umount卸载后才可以弹出
-
umount 【设备文件名】
-
注意:卸载的时候,不能在挂载目录下
-
关机重启命令
-
shutdown
-
shutdown 【选项】 【时间】
-
选项
-
-c:取消前一个关机命令
-
-h:关机
-
-r:重启
-
-
案例
-
shutdown -h now
-
shutdown -r
-
-
注意:使用shutdown 关机重启会更加安全。
-
关机重启前,最好关闭服务,远程服务器不要使用关机,要使用重启
-
-
其他关机命令
-
halt
-
poweroff:相当于直接断电,慎用
-
init 0
-
-
其他重启命令:
-
reboot
-
init 6
-
-
系统运行级别
-
0:关机
-
1:单用户:和windows的安全模式相似,启动最核心服务,可以进去进行一些修复,只有root登录
-
2:不完全多用户,不含NFS服务:network file system,网络文件系统,比如网络文件共享,不建议使用NFS,因为有安全隐患
-
3:完全多用户
-
4:未分配
-
5:图形界面
-
6:重启
-
使用:cat /etc/inittab:查看所有运行级别,可以在这个文件里面修改默认的系统运行级别
-
使用:runlevel:查看当前运行级别
-
-
logout
-
logout:退出登录
-
做完工作之后一定要在服务器logout,这是安全意识。不管是远程登录还是本地登录
-
vim文本编辑命令
vim常用操作
-
插入命令
-
a:在光标所在字符后插入,大写 A 表示在行尾插入
-
i:在光标所在字符前插入,大写 I 表示在行首插入
-
o:表示在光标所在行的下面,新建行。大写 O 表示在光标所在行的上面,新建行
-
-
定位命令
-
0:表示行首
-
$:表示行尾
-
gg:到第一行
-
G:到最后一行
-
nG:到第n行
-
:n:到din行
-
set nu:设置行号,等同于 :set number
-
set nonu :取消行号:set nonumber
-
-
删除命令
-
x:删除光标所在字符
-
nx:删除光标所在后面n个字符
-
dd:删除本行
-
dG:删除光标所在行到末尾
-
D:删除光标所在到行尾
-
:n1,n2d:删除从n1到n2的字符
-
-
复制和剪切
-
yy:复制当前行
-
nyy:复制当前行以下n行
-
dd:剪切当前行
-
ndd:剪切当前行以下n行
-
p:粘贴在当前所在行下
-
P:粘贴在当前所在行上
-
-
替换和取消命令
-
r:replace的意思,替换当前字符
-
R:从当前字符开始替换,按esc 结束
-
u:撤销上一步操作
-
-
搜索和替换命令
-
/string:搜索指定字符串,区分大小写,使用 :set ic 忽略大小写
-
n:搜索指定字符串的下一个位置
-
:%s/old/new/g:替换,如果不用g,使用 c 的话,每一次替换会询问是否替换
-
:n1,n2s/old/new/g:替换指定位置之间的字符串
-
-
保存退出
-
:w:保存修改
-
:w newfilename:保存为新文件
-
:wq:保存并退出
-
ZZ:快捷键保存并退出
-
q!:不保存修改腿粗和
-
wq!:强行保存修改并退出(文件所有者才可以使用)
-
使用技巧
-
导入命令执行结果
-
:r !命令
-
案例:
-
:r !ls
-
:r !cat test.txt
-
:r test.txt :导入test.txt 文件内容
-
!date:在vim 编辑中查看命令
-
r !date:直接将命令执行的结果写入文件中
-
-
-
连续注释行
-
n1,n2s/^/#/g:在指定范围行的行首插入#
-
n1,n2s/^#//g:将指定行的行尾#替换为空,即去掉#
-
-