- bin 普通用户使用的命令
- sbin 管理员使用的命令
- dev 设备文件
- proc 虚拟文件系统,反映内核进程信息实时状态
- usr 系统文件,类似C:Windows
[注]: RHEL7 /bin /sbin /lib /lib64 都在此目录
- boot 启动文件
- etc 配置文件
- lib 库文件
- lib64库文件
- tmp 临时文件
- var 变化文件
注:设备挂载目录
- media 移动设备挂载点
- mnt 手工挂载点
- misc automount进程挂载
- net automount进程挂载
hjkl //上下左右
0 $ //行首行尾
gg G //文首文尾
3G //进入第三行
y //复制 yy 3yy ygg yG
d //删除 dd 3dd dgg dG
D //从光标处删除到行尾
u //undo撤销
r //修改一个字符
块插入: //选择块,I 在块前插入字符
块替换: //选择块,r 输入替换的字符
块删除: //选择块,d | x
块复制: //选择块,y
:w /路径 //另存为
:r /路径 //读文件到当前行后
:5 r /路径 //读文件到第5行后
mkdir -p //递归创建
mkdir /home/{dir1,di2} //意会
cp -r //递归拷贝
cp -rf //覆盖不提示
rm
-r //递归
-f //强制
-v //详细过程
-n //显示行号
-A //包括控制字符
head //查看头 后跟 -数字
tail //查看尾
-数字
-f //动态查看
-访问时间:atime //查看内容
-修改时间:mtime //修改内容
-改变时间:ctime //修改权限
-删除时间:dtime //文件删除时间
ls -l
- //普通文件
d //目录文件
b //设备文件(块设备)存储设备,如U盘等;
c //设备文件 (字符设备) 打印机等。
p //管道文件
l //连接文件
# type ll
# file /etc/hostname
/etc/hostname: ASCII text
# stat /etc/hostname
id
uid=0(root) gid=0(root) groups=0(root)
ll /home/
groupadd //创建
groupdel //删除
useradd //创建
# -u //指定uid
# -d //指定家目录
# -s /sbin/nologin //指定shell
# -G //创建目录指定附加组
# -g //指定组
userdel //删除 -r 同时删除家目录和mail spoo
passwd 用户名 //root可设置任何用户密码
passswd //普通用户只能给自己修改密码
usermod -G 组 用户名 //覆盖原有的附加组
usermod -aG hr niuniu2 //增加新的附加组
usermod -s /sbin/nologin //修改登录Shell用户组
举个栗子:
[alice@tiezhu ~]$ useradd u1
-bash: /usr/sbin/useradd: 权限不够
[alice@tiezhu ~]$ su - root
password:
[root@tianyun ~]# useradd u1
sudo(选项)(参数)
chown 属主.属组 文件 //改属主、属组 -R 递归
chown 属主 文件 //改属主
chown .属组 文件 //改属组
chgrp 属组 文件 //改文件属组
chgrp -R 属组 文件 //改文件属组
chmod u+x 文件 //属主增加执行
chmod a=rwx 文件 //所有人等于读写执行行
chmod 644 文件 //数字大法
举个栗子
# setfacl -m u(g,o):alice:rw /home/test.txt //增加ACL权限
# setfacl -x u(g,o):alice /home/test.txt //删除ACL权限
# setfacl -b /home/test.txt //删除所有ACL权限
# setfacl -R -m u:alice:rwx /home //方法一
# setfacl -m d:u:alice:rwx /home //方法二
//赋予alice对/home读、写、执行权限
# chmod u+s fiel
# chmod g+s dir
# chmod o+t dir
# chmod 4777 fiel
# chmod 7777 file
# chmod 2770 dir
# chmod 3770 dir
chattr +a file //只可追加
chattr +i file //不可更改、重命名、删除
chattr +A file //不可更改访问时间(atime)
+ - //追加 移除
# ps aux |less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2164 648 ? Ss 08:47 0:00 init [5]
USER 运行进程用户
PID 进程ID
%CPU CPU占用率
%MEM 内存占用率
VSZ 占用虚拟内存
RSS 占用实际内存
TTY 进程运行终端
STAT 进程状态
START 进程的启动时间
TIME 进程占用CPU总时间
COMMAND 进程文件、进程名
R 运行
S 可中断睡眠
D 不可中断睡眠
T 停止进程
Z 僵尸进程
X 死掉的进程
# pidof 进程名
pstree
# top
# top -d 1 //每一秒刷新
# top -d 1 -p 10123 //查看指定进程的动态信息
# top -d 1 -u user //查看指定用户的进程
# top -d 1 -b -n >top。txt //将两次top信息写入到文件
h|? 帮助 < > 向前 向后
M 查看内存使用排序 z 彩色
P 按CPU使用排序 W 保存top环境设置
N 以PID的大小排序
R 对排序进行反转
f 自定义显示字段
1 显示所有CPU负载
# kell -1 重新加载配置
# kill -9 强杀
# kill -15 正常终止
# kill -18/-19 继续/暂停
# top 输入r
(-20高) ---0--- (19低)
# ps aux //查看pid
# renice -20 pid //更改
> //覆盖
>> //追加
&> /dev/null //重定向到空
# cat >file <
>内容
>内容
>EOF
|
|tee #tee命令就像管道的T接头。
grep:文件内容过滤
find: 文件查找
which:命令查找
查找tree 命令位置
# which tree
/bin/tree
公式:find [path...] [options] [expression] [action]
名字 路径 选项 表达 行动
name //名字 (a/m/c)time //访问时间、修改时间、改变时间
size //大小 user/group //用户、组
maxdeoth //目录 perm //权限
# find / -name "name"
# find / -iname "name" //忽略大小写
# find / -size +5M //大于5M
# find / -size 5M //等于5M
# find / -size -5M //小于5M
# find / -maxdepth 3 -a -name "ifcfg-en*" //三层
# find / -mtime(-atime/ctime) +5(5/-5) //时间超过(等于、小于)5天
# find / -user jack //属主是jack的文件
# fian / -group hr //属组是hr的文件
# find / -nouser //缺失UID的文件
# find / -prem 644 //精确权限
# find / -prem -644 //包含权限即可
# find /usr/bin /usr/sbin -perm -4000 -ls //包含set uid
# find /usr/bin /usr/sbin -perm -2000 -ls //包含set gid
# find /usr/bin /usr/sbin -perm -1000 -ls //包含sticky
-print //打印(默认选项)
-ls //列出
-exec //后跟自定义shell命令
-ok //后跟自定义shell命令
# tar -cf test.tar //打包
# tar -czf test.tar.gz //z是gzip
# tar -cjf tset.tar.bz //j是bzip
# tar -cJf test.tar.xz //J是xzip
# tar xf test.tar.xz //不显示详细信息
↑------xvf 可显示详细信息
# tar xvf test.tar.bz -C /tmp //-C重定向到目录 /tmp
举个栗子 nginx-1.12.1.tar.gz
举个栗子 mysql-community-common-5.7.12-1.el7.x86_64.rpm
# 在RedHat/Centos 平台常见的二进制包类型为rpm,工具为rpm,rpmbuild ,在线安装方式为yum
http://www.mysql.com
举个栗子
ntfs-3g-2011.4.12-5.el5.x86_64.rpm
软件包名 版本号(Version) 发布版本(Release) 系统平台
ntfs-3g 2011.4.12 5.el5 x86_64
# rpm -ivh local_path(本地路径) //本地安装
# rpm -ivh url_path(url) //网络安装
--nosignature //不检验软件包的签名
--force //强制安装软件包 yum reinstall
--nodeps //忽略依赖关系
rpm -q ntfs-3g 查询指定包是否安装
rpm -qa |grep ntfs 查询某个包
rpm -qa ntfs-3g 查询ntfs-3g安装的文件
rpm -qf /usr/bin/ntfs-3g 查询该文件属于哪个rpm包
rpm -wc ntfs-3g 查询某个包安装的配置文件
rpm -qd vsftpd 查看安装的帮助文档
rpm -e ntfs-3g
# ls /etc/yum.repos.d/ //路径
# yum install 包名 //安装
# yum update 包名 //升级包
# yum remove 包名 //卸载包
# yum info 包名 //查看包信息
# yum clean all //清理本地缓存
# yum clean plugins //清除插件缓存
# yum makecache //重建缓存
# yum provides /bin/mv //查看文件来自哪个包
# yum repolist //显示所有yum仓库
# yum disabled(enabled) //显示可用仓库
# yum list //列出可安装的包
# yum list updates //显示可更新的包
# yum list installed //显示已安装的包
# yum list recent //列出仓库最近增加的包
http://mirrors.aliyun.com/
http://mirrors.163.com
yum -y install epel-release
如 nnginx
# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
官方网站 如:
Apache: www.apache.org
Nginx: www.nginx.org
Tengine: tengine.taobao.org
^注1: 以编译安装tengine为例
^注2: 准备、解压、配置、编译、安装。
部署Tengine /Nginx服务器/WEB服务器
1. 下载源码包,准备软件包
2.准备编译环境如编译器gcc、make
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
(pcre: 支持正则表达式,地址重写rewrite)
3.解压
# useradd www
# tar xvf tengine-2.2.0.tar.gz
# cd tengine-2.2.0
4.配置
./configure \
--user=www \
--group=www \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_ssl_module \
--with-pcre
5.编译
# make
6.安装
# make install
7启动测试
# /usr/local/nginx/sbin/nginx //启动nginx服务器
# systemctl stop firewalld
看到网页,说明部署成功。
# uname 用于打印当前系统信息 内核版本号、硬件架构、主机名称和操作系统类型等)
-a 显示全部信息
-m 显示电脑类型
-n 显示网络上的主机名
-r 显示操作系统发行编号
-s 显示操作系统名称
-v 显示操作系统版本
# cat /etc/redhat-release //查看版本当前操作系统发行版信息
# cat /proc/version //查看当前操作系统版本信息
# cat /proc/cpuinfo //查看cpu相关信息,包括型号、主频、内核信息等
# getconf LONG_BIT //查看运行在哪个位数下,但并不代表CPU不支持其他位数