Linux
[TOC]
Linux目录结构
- /bin (/usr/bin, /usr/local/bin) : Binary的缩写,存放常用的命令
- /sbin (/usr/sbin, /usr/local/sbin) : super user 存放系统管理员使用的系统管理程序
- /home :存放普通用户的主目录
- /root :root 用户的主目录
- /boot : 存放启动Linux时的一些核心文件,连接文件,镜像文件
- /proc : 虚拟的目录,系统内存的映射,访问此目录获取系统信息
- /srv : service,服务启动后需要提取的数据
- /sys :安装2.6内核中新出现的文件系统
- /temp : 临时文件
- /dev : 设备管理器,硬件用文件形式存储
- /media : 外置设备,识别后挂载在此目录
- /mnt : 临时挂载别的文件系统
- /opt : 安装的软件所在的目录
- /var : 不断扩充的东西,如日志文件
- /usr/local : 一般听过编译源码安装的程序
- /selinux [security enhanced linxu] : 安全子系统控制程序只访问特定文件
Vim
-
正常模式:
移动光标,复制粘贴删除
拷贝:yy,当前向下5行,5yy ===> 粘贴(p)
删除:dd,当前向下5行,5dd ,dw 删除单词
x : 删除当前字符 nx : 删除光标n个字符
o : 打开新的一行
u : 撤销操作
ZZ : 保存文件退出
G : 最末行
gg : 文件首行
n+ : 下跳n行
n- : 上跳n行
nG : 跳至n行
-
插入/编辑模式
i,I,o,O,a,A,r,R进入
-
命令行模式
输入:或者/ ======> 完成读取,存盘,替换,离开,显示行号等操作
设置/取消行号 : set nu / set nonu
/keyword : 光标下查找,n为查找下一个
?keyword : 光标上出现查找 N为向上查找下一个
:r filename : 读取某一文件内容,写入当前
:w new-filename : 写入新文件当中
:! command : 暂时离开vim执行command命令
:sh : 执行shell命令,ctrl+d退出
:s /keywords1/keywords2 : 替换行中首次出现
:s /keywords1/keywords2/g : 替换行中所有出现
:%s /keywords1/keywords2/g : 替换所有出现
:n,m s /keywords1/keywords2/g : n到m行提哦还
:f : 显示文件内容状态
:e! : 返回当前文件上次保存
:e file : 切换编辑文件
:n : 切换下一个编辑文件
Linux命令
系统操作
-
shutdown
shutdown -h now //立即关机 === halt
shutdown -h 1 //1分钟后关机
shutdown -r now //立即重启 === reboot
syn //内存数据同步到磁盘
su username //登陆 ===>logout 退出
-
useradd username //添加用户 ===> useradd -d 指定目录 username
===>useradd -g groupname username // 指定组
usermod -g groupname username // 改变组
passwd username // set/change password
userdel username // delet user
id username // 查询用户
groupadd groupname // add group
groupdel groupname // delet group
运行级别
0:关机
1:单用户
2:多用户无网络服务
3:多用户有网络服务
4:保留
5:图形界面
6:重启
- 系统运行级别配置文件: /etc/inittab ===> id:5:initdefault:
实用指令
man command //帮助信息
help command // shell 内部命令帮助信息
pwd // 绝对路径
-
ls //查看内容信息 ===》 -a //所有文件,包含隐藏 -h //正常显示大小
=== > -l //列表显示
cd directoryname //change directory
mkdir directoryname //make directory ===> -p // make multi-directory
rmdir directoryname //remove directory ===> -rf //递归删除 ,f=force
touch filename //make a blank fle
cp source_name source_dest //copy ===>-r 递归复制 ===\cp 强制复制
rm file_name/directory_name //remove ===> -r 递归删除 -f 强制删除
mv old_file new_file //move or rename
cat file //only read ===> -n 显示行号
more //文本过滤器,分页显示
less //文本过滤器,分页显示,但不是一次性加载完
> 覆盖原文件内容, >> 追加,不覆盖
echo //输出 echo $PATH
head file // 显示文件开头部分,默认10行 ===> head -n 5 filename 显示前五行
-
tail file // 显示文件结尾部分,默认10行 ===> tail -n 5 filename 显示后五行
===> tail -f file 实时追踪文件更新
ln file_name file_name_link // 软链接
history //history command ===> hisory n //查看后n行命令 ===> !n //执行第n行命令
-
date // date "+%Y-%m-%d-%H:%M:%S"
===> date -s str_time //set time /exp: date "2018-1-1 11:11:11"
cal //日历 /exp: cal 2025
find location 选项// ===> -name -user -size /+n 大于 -n小于 n等于 1M
locate file_name //快速定位,静态数据库 ===> 第一次,使用updatadb建立数据库
grep //过滤查找 ===> -n 显示行号, -i 不区分大小写
| // 管道符号,前一命令处理结果交给后命令处理
gzip file_name// 压缩 ,不保留原文件
gunzip file_name.gz //解压
zip xxx.zip file/directory_name //压缩 ===>-r 递归压缩
unzip xxx.zip //解压 ===> unzip -d directory_name xxx.zip /压缩到指定文件夹
-
tar //打包 xxx.tar.gz ===>-c 产生tar打包文件 -v 显示详细信息 -f 指定压缩文件名
===> -z 打包同时压缩 -x 解包.tar文件
压缩 tar -zcvf 解压 tar -zxvf
权限操作
- chown user_name file_name // change file owner
- chgrp group_name file_name //change file group
- chown user_name:group_name file_name //change user and group
- usermod -g group_name user_name // change user group
- usermod -d directory_name user_name //change user init directory
权限介绍
0-9位 rwx read = 4 write = 2 execute = 1
0 文件类型 (d目录,-普通文件,1软链接,c字符设备[键盘鼠标],b块文件[硬盘])
1-3 所有者权限 user u
4-6 同组权限 group g
7-9 其他组权限 other o =========all a
- chmod u=rwx,g=rwx,o=wrx file/group_name
- chmod o+w file/group_name
- chmod o-w file/group_name
- chomod 755
任务调度
- crontab [ ] // ===> -e 编辑 -l 查看 -r 删除
五个占位符
===> * * * * *
一小时第几分钟
0-59
一天中第几小时
0-23
一个月第几天
1-31
一年中第几个月
1-12
一周中星期几
0-7
其中,*
代表任何时间 ,,
代表不联系时间 -
代表连续时间 */n
代表每隔多久
*/1 1,2,3 1-3 * *
/home/mtcrond.sh
分区挂载
lsblk // 查看系统分区挂载情况 ===> -f 详细信息
-
fdisk /dev/sdb //分区
m //显示列表命令
p //显示磁盘分区,同fdisk -l
n // 增加分区
d // 删除分区
w //写入并退出
-
mkfs -t ext4 /dev/sdb1 //格式化
ext4 分区类型
-
mount /dev/sdb1 /home/dir_name // 挂载
mount 设备名称或则会挂载目录
-
du -h /目录 //磁盘占用情况
-s 指定目录占用汇总
-h 带计量单位
-a 包含文件
--max-depth=1 子目录深度
-c 累出明细同时,增加汇总值
ls -lR /home | grep "^-" | wc -l // 统计文件夹以及子文件夹文件个数
tree // 以树状图显示
永久挂载
vim /etc/fstab
/dev/sdb1 /home/dir_name ext3 default 0 0
Linux 配置
网络配置
直接修改来指定ip,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0
Ubuntu /etc/hosts
service network restart
reboot
进程
-
ps // 显示系统进程 ===> -a 显示当前终端所有内容 -u 以用户格式显示 -x 显示后台运行参数
PID 进程识别号 TTY 终端机号 TIME 占用CPU时间 CMD 正在执行的命令或者进程
STAT 进程状态 S-睡眠 s-该会话先导进程 N-更低优先级 R-正在运行 D-短期等待 Z-僵尸进程 T-被追踪或停止
STARTED 启动时间 COMMAND 启动进程所用命令参数
-
ps -ef //-e 显示所有进程 -f 全格式
PPID 父进程 C 优先级因子,越大,CPU密集型运算,优先级降低,数值小,I/O密集型运算,优先级提高
kill //通过进程号来杀死进程
killall 进程名称 // 通过进程名称杀死进程,也支持通配符 ===> -9 强迫进程立即停止
pstree //树状显示 ===>-p 显示PID -u 显示所属用户
-
service 服务名 [start|stop|restart|reload|status] //centos7.0以后,使用systemctl
Eg: service iptable status
-
chkconfig --list | grep xxx
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off [设置后,需要reboot]
-
top // 类似于ps,但top可以更新正在运行的进程 ===> -d 秒数 // top每隔多久几秒更新,默认3s
===> -i 不显示闲置或僵尸进程 -p 通过指定监控进程ID来监视某进程状态
- 交互操作:
P 以CPU使用频率排序 M 以内存使用排序 N 以PID排序 q 退出
top : ==> u ==> user_name 监视特定用户
top : ==> k ==> ID number 杀死进程
netstat //网络状态 ===>-an 按顺序排序 -p 显示哪个进程在调用
软件安装
-
rpm // redhat package manager ===> -qa 查询安装的软件包 -q 软件包名 -qi 软件包信息
===> -ql 查询安装位置 -qf 查询所属rpm包
===> -e 卸载 rpm -e --nodeps 软件包 //强制删除
===>-ivh 安装 i install v verbose 提示 h hash 进度条
-
yum // 自动下载rpm包
===>yum list
===>yum install
SSH
ssh [-l login_name][-p port] [user@]hostname