第一次内网实验

目录处理命令

  • 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:将指定行的行尾#替换为空,即去掉#

    • n1,n2s/^/\/\//g:在指定行的行首插入 //

Tags: