系列文章目录
目录
一、目录结构
/usr/bin,/usr/sbin存放系统命令
/boot系统启动信息
/dev硬件设备目录
/etc 配置文件
/lib,/lib64 函数库
/mnt 挂在光盘
/opt 类似soft,基本装在usr/local下
/usr/local/安装目录
/usr/local/src 下载源程序位置
/var 保存动态数据 例如:/var/lib/mysql mysql默认存放位置
/var/spool/cron 存放定时任务
二、常用命令
2.1目录和文件操作命令
#显示主机名
hostname
#创建目录 -p递归
mkdir -p xxx/yyy/zzz
#c创建文件
touch xxx
#查看文件详细信息
stat xxx
#查看文件内容
cat|more 空格向下翻页 b键向上翻页 回车向下滚动一行 /字符串搜索指定字符串 q退出
#查看文件首尾信息
head -n|tail -nf 显示行数并监听新增内容
#创建软连接
ln -s 源文件 目标文件 例: ln -s /usr/local/java/bin/java /usr/bin/java
#删除(目录和文件都能删除,强大但是慎用)
rm -rf xxx
#复制 -r递归复制,用于复制目录
cp [-r] 源文件 目标文件
#剪切
mv 源文件 目标文件
2.2权限、帮助命令、搜索、别名、快捷键
#修改文件权限 644读写 755读写执行
chmod [选项] 权限模式 文件名 r->4 w->2 1->x
#修改所有者
chown 所有者:所属组 文件或目录
#帮助命令
man xxx
xxx --help
#搜索命令
which xxx
locate xxx 安装文件名搜索命令 可以使用updatedb命令强制更新数据库
#安装
yum -y install mlocate
[root@localhost ~]# vi /etc/updatedb.conf
PRUNE_BIND_MOUNTS = "yes"
#开启搜索限制,也就是让这个配置文件生效
PRUNEFS = "……" #在 locate 执行搜索时,禁止搜索这些文件系统类型
PRUNENAMES = "……" #在 locate 执行搜索时,禁止搜索带有这些扩展名的文件
PRUNEPATHS = "……" #在 locate 执行搜索时,禁止搜索这些系统目录
#搜索文件命令
find 搜索路径 [选项] 搜索内容
选项:
-name: 按照文件名搜索
-iname: 按照文件名搜索,不区分文件名大小写
-inum: 按照 inode 号搜索
-size [+|-]大小: 按照指定大小搜索文件
[root@localhost ~]# man find
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
'b' for 512-byte blocks (this is the default if no suffix is used)
#这是默认单位,如果单位为 b 或不写单位,则按照 512 Byte 搜索
'c' for bytes
#搜索单位是 c,按照字节搜索
'w' for two-byte words
#搜索单位是 w,按照双字节(中文)搜索
'k' for Kilobytes (units of 1024 bytes)
#按照 KB 单位搜索,必须是小写的 k
'M' for Megabytes (units of 1048576 bytes)
#按照 MB 单位搜索,必须是大写的 M
'G' for Gigabytes (units of 1073741824 bytes)
#按照 GB 单位搜索,必须是大写的 G
#gerp命令
grep的作用是在文件中提取和匹配符合条件的字符串行
#管道符命令
命令格式: 命令 1 | 命令 2
netstat 命令(CentOS 7 中,需要安装 net-snmp.x86_64,net-tools.x86_64 两个包才有此命令。7.5
系统中已经自动安装)格式如下:
[root@localhost ~]# netstat [选项]
选项:
-a: 列出所有网络状态,包括 Socket 程序
-c 秒数: 指定每隔几秒刷新一次网络状态
-n: 使用 IP 地址和端口号显示,不使用域名与服务名
-p: 显示 PID 和程序名
-t: 显示使用 TCP 协议端口的连接状况
-u: 显示使用 UDP 协议端口的连接状况
-l: 仅显示监听状态的连接
-r: 显示路由表
#如果想知道具体的网络连接数量,就可以再使用 wc 命令统计行数
netstat -an | grep "ESTABLISHED" | wc -l
#查看占用端口
netstat -tulnp
#别名命令
alias
例如:
alias ser='service network restart'
alias vi='vim'
用命令定义的别名,是临时生效的,要想永久生效,需要写入环境变量配置文件~/.bashrc
#操作快捷键
Tab键 命令或文件补全
ctrl+A 把光标移动到命令行开头。
ctrl+E 把光标移动到命令行结尾。
ctrl+C 强制终止当前的命令。
ctrl+L 清屏,相当于 clear 命令。
ctrl+U 删除或剪切光标之前的命令。
ctrl+Y 粘贴 ctrl+U 剪切的内容。
2.3解压缩命令、常用网络命令、系统痕迹命令、挂载命令
#.zip压缩解压缩
[root@localhost ~]# zip [选项] 压缩包名 源文件或源目录
选项:
-r: 压缩目录
例如:
[root@localhost ~]# zip ana.zip anaconda-ks.cfg
[root@localhost ~]# unzip [选项] 压缩包名
选项:
-d: 指定解压缩位置
例如:
[root@localhost ~]# unzip -d /tmp/ ana.zip
#把压缩包解压到指定位置
--------------------------------------------------------
#.tar
[root@localhost ~]# tar [选项] [-f 压缩包名] 源文件或目录
选项:
-c: 打包
-f: 指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名
-v: 显示打包文件过程
#打包,不会压缩
[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg
例如:.tar.gz 格式
#解压缩与解打包“.tar.gz”格式
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
#把/tmp/目录直接打包压缩为“.tar.gz”格式
[root@localhost ~]# tar -zxvf tmp.tar.gz
--------------------------------------------------------
#配置ip
vi /etc/sysconfig/network-scripts/ifcfg-eth33
service network restart
#查看本机开启的端口
netstat -tuln
netstat -tulnp
#查看所有连接
netstat -an
#w 命令是显示系统中正在登陆的用户信息的命令
[root@localhost ~]# w
00:06:11 up 5:47, 2 users, load average: 0.00, 0.01, 0.05
#系统时间 持续开机时间 登陆用户 系统在 1 分钟,5 分钟,15 分钟前的平均负载
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 23:59 7:07 0.08s 0.08s -bash
root pts/2 192.168.252.1 23:42 3.00s 0.44s 0.06s w
#who用于查看正在登陆的用户
who
#last命令是查看系统所有登陆过的用户信息的
last
#lastlog命令是查看系统中所有用户最后一次的登陆时间的命令
lastlog
#lastb 命令是查看错误登陆的信息的
lastb
#查看历史操作命令
history
!n执行
#挂载命令 etc/fstab
mount /dev/sr0 /mnt/cdrom 光盘挂载
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/ U盘
umount 卸载
df -h 查看磁盘信息
2.4vi 编辑器
1、概述
vim 是一个全屏幕纯文本编辑器,是 vi 编辑器的增强版,我们主要讲解的是 vim 编辑器。可以利 用别名让输入 vi 命令的时候,实际上执行 vim 编辑器,例如
[root@localhost ~]# alias vi='vim'# 定义别名
这样定义的别名是临时生效,如果需要永久生效,请放入环境变量配置文件(~/.bashrc)
vim 工作在三种模式之下:
01.命令模式
命令模式:是主要使用快捷键的模式,是我们后面学习的重点。命令模式想要进入输入模式,可以使用以下的方式:
02.输入模式
主要用于文本编辑,和记事本类似,输入数据就好
03.末行模式
:w 保存不退出:w 新文件名 把文件另存为新文件:q 不保存退出:wq 保存退出:! 强制:q! 强制不保存退出,用于修改文件之后,不保存数据退出。:wq! 强制保存退出,当文件的所有者或者 root 用户,对文件没有写权限的时候,强制写入数据使用
2、 命令模式操作
1)移动光标
gg 移动到文件头
G 移动到文件尾(shift+g)
^ 移动到行首
$ 移动到行尾
#这里 n 是数字,准备移动到第几行,就用哪个数字。
:n 移动到第几行
2)删除或剪切
x 删除单个字母
nx 删除 n 个字母
dd 删除单行
ndd 删除多行
:n1,n2d 删除指定范围的行
#删除整行或多行,这是比较常用的删除方法。这里的 dd 快捷键既是删除,也是剪切。删除内容
#放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切。粘贴方法如下:
p 粘贴到光标后
P(大) 粘贴到光标前
dG 从光标所在行删除到文件尾
3)复制
yy 复制单行
nyy 复制多行
#复制之后的粘贴,依然可以使用 p 键或 P(大)键
4)撤销
u 撤销
ctrl+r 反撤销
5)替换
r 替换光标所在处的字符
R 从光标所在处开始替换字符,按 ESC 结束
6)vim配置文件
这次末行模式参数设置,多数需要在 vim 中才能生效。
设置参数
|
含 义
|
:set nu
:set nonu
|
显示与取消行号。
|
:syntax on
:syntax off
|
是否依据语法显示相关的颜色帮助。在 Vim 中修改相关的配置文件或
Shell 脚本文件时(如前面示例的脚本/etc/init.d/sshd),默认会显
示相应的颜色,用来帮助排错。如果觉得颜色产生了干扰,则可以取消
此设置
|
:set hlsearch
:set nohlsearch
|
设置是否将查找的字符串高亮显示。默认是 set hlsearch 高亮显示
|
:set ruler
:set noruler
|
设置是否显示右下角的状态栏。默认是 set ruler 显示
|
:set showmode
:set noshowmode
|
设置是否在左下角显示如“—INSERT--”之类的状态栏。默认是 set
showmode 显示
|
:set list
:set nolist
|
设置是否显示隐藏字符(Tab 键用“^I”表示,回车符用“$”表示)。
默认是 nolist 显示。如果使用 set list 显示隐藏字符,类似“cat –A
文件名”。
|
vim 支持更多的设置参数,可以通过“:set all”进行查看。
大家会发现,这些设置参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要 永久生效,需要手工建立 vim 的配置文件“~/.vimrc”,把你需要的参数写入配置文件就永久生效了。
补充:Windows 下回车符在 Linux 中是用“^M$”符号显示,而不是“$”符。这样会导致 Windows 下编辑的程序脚本,无法在 Linux 中执行。这时可以通过命令“dos2unix”,把 Windows 格式转为 Linux 格式,当然反过来“unix2dos”命令就是把 Linux 格式转为 Windows 格式。这两个命令默认没有安装, 需要手工安装才能使用。
7)查找
/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上搜索
n 下一个
N 上一个
8)整体替换
:1,10s/old/new/g 替换 1 到 10 行的所有 old 为 new
:%s/old/new/g 替换整个文件的 old 为 new
替换字符串,我举几个例子:在 shell 中“#”开头是注释,那我是否可以注释文件的前 10 行呢? 手工一个一个注释很麻烦,那么批量替换吧:
:1,10s/^/#/g 注释 1 到 10 行
:1,10s/^#//g 取消注释
而在 C 语言,PHP 语言等大多数语言中,是使用“//”开头作为注释的,我们当然可以用 vim 来 写这些程序语言脚本,那么批量加入“//”注释吧
:1,10s/^/\/\//g 1 到 10 行,行首加入//
:1,10s/^\/\///g 取消 1 到 10 行行首的//
3、vim使用技巧
1)设定快捷键
:map 快捷键 快捷键执行的命令 自定义快捷键
vim 允许自定义快捷键,常用的自定义快捷键如下:
:map ^P I#<ESC> 按“ctrl+p”时,在行首加入注释
:map ^B ^x 按“ctrl+b”时,删除行首第一个字母(删除注释)
注意:^P 快捷键不能手工输入,需要执行 ctrl+V+P 来定义,或 ctrl+V ,然后 ctrl+P。^B 快捷 键也是一样
2)字符替换
:ab 源字符 替换为字符 字符替换
在 vim 编辑中,有时候需要频繁输入某一个长字符串(比如邮箱),这时使用字符串替换,能增 加输入效率,例如:
:ab mymail shenchao@163.com 当碰到“mymail”时,转变为邮箱
注意:“源字符”不应设置的太短,否则有可能影响输入。
3)多文件打开
vim 中可以同时打开两个文件,只要执行如下命令:
[root@localhost ~]# vim -o abc bcd
[root@localhost ~]# vim -O abc bcd
#-o 小写 o 会上下分屏打开两个文件
#-O 大写 O 会左右分屏打开两个文件
这样可以同时打开两个文件,方便操作。如果是“-o”上下打开两个文件,可以通过先“ctrl+w”,
再按“上下箭头”的方式在两个文件之间切换。
如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文
件之间切换。
2.5其他
#SCP scp -r 要复制的目录 目标目录
scp -r /opt/managercenter/ root@ip:/home/
scp -r root@ip:/opt/managecenter /home/
#查询内存占用
top 输入M
free -m
#根据PID查询具体进程信息
ll /proc/PID