Linux 命令
ls查看
-a显示所有包括隐藏文件
-l详细信息
-h文件大小人性化
-d查看目录本身属性
cd切换目录
-上次
-..上级
pwd显示当前目录
mkdir创建目录
-p递归创建
touch 创建文件 **文件已经存在则是修改文件操作时间
ln链接文件 **文件名都必须写绝对路径,否则软连接移后失效
-s 软连接
cp复制 //cp 原来 目标
-r复制目录
-p保留属性
-d若源文件是链接文件,则复制链接属性
-a以上所有
mv剪切 //mv 原path 目标path *只是改变文件名的移动叫改名
rm删除
-rf加删目录强制执行
cat显示文件类容
links文字界面浏览器退出按q键
cal日历
-3三个月的(只能看三月包括本月在内的前一个月和后一个月)
2018(不用加-看任意一年的12月日历)
more分页
空格或f翻页
enter换行
q或Q退出
广播 单用户:write 用户名 所有用户:wall
回车
ctrl+d 保存发送
chmod改变文件或目录权限 //chmod [{ugoa}{+-=}{rwx}] [文件或目录]
[421 ] [文件或目录]
-R递归,对目录的,目录里所有类容
chgrp改变所有组//chgrp [用户组] [文件或目录]
chown改变所有者或所有组 //chown [用户] [文件或目录]
[用户]:[所属组] [文件或目录]whereis显示命令的详细目录
which显示系统命令所在目录,命令是否被修饰(颜色)
find搜索文件 //find [搜索范围] [匹配条件] -exec 对搜索结果处理 {} \;
-name名字 -iname不区别大小写通配符 *任意字任意多 -size大小 +大于 -小于
[]范围 -user所有者 -group组
?一个任意字符 -type类型 f普通 d目录 l链接
^非,反向匹配 -perm权限 ps:644
-inum节点
-cmin -5 表示5分钟内修改过属性的文件或目录
-mmin -5 表示5分钟内修改过内容的文件或目录
多条件之间用-a(and)-o(or)
grep搜索文件内容//grep "字符串或正则匹配"文件名
-i不区分大小写
-v排除这些以外
du-sh统计运行大小(大于关机文件大小)
man查看非shell命令帮助信息
help查看shell命令帮助信息
tar 解压打包//tar 选项[-zcf] [压缩后文件名] [原文件]或者-C指定解压位置
-z gz格式 -j bz2格式
-c 打包 -x 解包 -t只查看
-v 显示详细信息
-f 指定文件名 **放最后 ifconfig查看网卡信息
shutdown -h now现在关机(init 0)
reboot重启(init 6)
netstat查看网络状态命令 常结合-ptlun
-t 查看tcp端口
-u 查看udp端口
-l 监听
-n 以IP和端口号显示,不用域名和服务名显示
-a 查询所有连接
-p 查看进程名
fdisk -l 查看设备识别情况,U盘插入后会识别为sdb
mount 挂载 //mount 原路径(/dev/光碟sr0或sdb1是U盘) 新路径
umount 卸载 **退出挂载目录才能卸载
装软件
rpm二进制装包
-i装载v显示详情h显示进度
-e卸载
-q查询安装包版本
-qa查询所有安装包
-qi查询详细
-qip查询没有安装的包的信息
-ql安装后的文件 -qf查询安装文件来自哪个包
用service来管理 start|stop|restart|status(原因是因为安装不能指定路径,启动脚本被放在/etc/rc.d/init.d/下了,service就是调用这个路径)
**就像一个命令不是在echo $PATH这些目录下也就叫个可执行文件
yum不用接包全名,会在网上下载最新的版本
install装包 remove卸载 update升级(有网) info查询详情(类似于rpm的-qi) list查看所有可安装包
-y执行时选择y
源码包(用绝对路径来管理)
1 上传软件包
使用winscp等工具远程连接Linux,上传所需软件包
实例:上传httpd(apache)软件包至家目录
2 安装(重点)
1)解压
tar -xf 包文件
2) cd 解压目录
进入解压文件目录
3) 查看安装文档
INSTALL README
4)检测
./configure --prefix=/usr/local/apache2
功能:
1 检测系统环境,生成Makefile
2 定义软件选项
--prefix 指定软件安装目录
5) 编译
make
若编译失败使用make clean清除编译文件
6)安装
make install
报错判断:
第一:安装过程是否停止
第二:停止处是否出现 error warning no 等错误报警
3 启动
/usr/local/apache2/bin/apachectl start
源码包的启动脚本大多存在于安装目录下
提示:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
将配置文件的ServerName行注释取消后pkill httpd即可,并非报错!!!
4 卸载
直接删除安装目录
rm -rf /usr/local/apache2/
**解决源码包的开机自启动
将启动的脚本写入/etc/rc.local(在这个文件下写上一行也就是启动脚本)原理是linux在启动时会执行一下这个文件,这个文件有启动脚本则启动达到开机自启动效果用户
id 用户名(用来查看用户的id信息)属组信息
添加 useradd 选项 用户名
-g给用户默认组(没有时用户属于以自己用户名所在的组)
-G给用户加附属组,主组还是本身名的组
-c“描述信息”
-d指定家目录
删除 userdel
-r连着家里的资料一起删掉,删的干净
修改usermod
-g修改默认组 **新组名 用户名
-G修改所属组 **附属组1,附属组2 用户名
-l改名
-c改备注
-e改过期时间
-L锁定用户
-U解锁
-aG追加所属组
用户密码
passwd
-l锁定一个用户(把该用户密码前加了两个!!)
-u解锁(去掉加上的两!!)
组
添加groupadd 组名
修改groupmod 选项 组名
-n 新名 旧名
删除groupdel
组密码
gpasswd
-a用户名 组名(把用户请到组,对用户而言是附属组)
-d用户名 组名(从组里删除用户)
切换用户su -(有-直接进自己家目录,切换时带走了用户的环境变量)
特殊权限 (用chmod给)如果一个文件在没有执行的权限则给它set权限为大写S或T,
s(当一个可执行文件的所属者位置出现s时,任何用户在执行它时被系统认为是root)
可以在用数字777方式给权限时前面加4代表SetUID给所属者一个(一般是可执行文件,背景红色)s,
2代表SetGID给所属组一个s(文件目录皆可,背景黄色),
1代表SetBIT给其他用户一个t(一般是给目录,背景蓝色),代表任何人在带有t的文件内都有创建的文件的权限,有t则自己对自己的文件有权利,别人不能删除它
若是7则每个位置都有
ACL权限 (如果存在权限后会有个+号)
setfacl -R(递归) -m(修改) d(继承,需要两条先不加d表示对现有,后加d表示未来):u(用户)/g(组):用户名:权限 目录
查看ACL权限
getfacl 目录
进程
前台进程:一次只能执行一个进程,当前进程不结束不能执行下一个进程,例如ping 127.0.0.1 即使重定向到一个文件也是前台 ctrl+c终止
如果加上一个&符号,返回一个号码[进程号],则为后台进程
前台进程
查看后台进程状态 jobs (+,-表示预备)
显示(Running 运行,Stopped 挂起)
把后台进程调到前台 fg 指定jobs查出来的第几个(什么都不加调+的)
当把进程调到前台或者前台执行进程时可用ctrl+c终止进程,ctrl+z后台挂起运行后台挂起进程 bg 指定jobs查出来的第几个(什么都不加调+的)
监听watch(监听后台命令) -n 1(1秒一次) ls -l
w
显示服务器时间,当前登录多久,当前服务器有几个用户,当前的负载平衡值(平均1分钟,平均5分钟,平均15分钟)(0.8以下为轻负载)
用户是谁 ,在哪里用什么方式登录的(如果是主机登录为tty后面是1-6为主机终端,7位图形界面),登录的ip(-表示本地),登录时间,cpu值,在干什么(-bash什么也没干)
who(简单的w)
谁,从哪里登录的,时间是多少
ps 什么都不加显示当前用户的状态
-le(或aux也差不多)查看用户执行的详细信息(具体显示名称代表什么见第四天课件)
-uU 用户名 可指定用户查看pstree进程树
结合管道符|(经常结合grep)来精确范围
杀进程 kill 选项 进程号(先要查到进程号)
-9 强制杀死
-1 重启进程
pkill 服务名(直接杀死该服务所有进程,包括这个服务已经结束还有僵尸残留它可以清理干净)
pkill -9 -t(表示终端) 终端,(杀某一个终端)
xkill图形界面的鼠标在点右键取消
p的用法
pgerp 服务名 (返回该进程的进程号)
启动优先级nice(-20到+19,越小级别越高)
在开启一个服务前加上它可以指定启动的优先级
修改优先级renice 级别 进程号
动态显示进程top
在其命令行操作如下
d时间(单位秒) 修改刷新时间(默认为3秒)
c显示完整(命令的绝对路径)或显示不完全
M按内存排序(默认按cpu排序)
P按cpu排序
q退出
h或?表示帮助
u用户名 针对具体用户
k进程号 杀进程
r优先级(-20到+19) 改变进程优先级
查看内存状态 free -m
查看运行的进程的内存文件快照 ls /proc(以进程号命名,进行结束目录消失)
具体查看cup、内存、分区用cat/proc/cpuinfo或meminfo或partitinfos
进程分类
查看独立的服务列表 chkconfig --list(可用管道符来结合grep来精确查找)
ntsysv进入图形修改开机启动项或者setup里面的系统服务
runlevel查看当前在什么级别(0-6如果有两个数字则前面的表示是之前的级别)
查看配置文件启动级别(0-6) vim /etc/inittab
0:关机,1:单用户模式,2:无网络服务的多用户模式,3:完整多用户模式,4:空缺位,5:桌面模式,6:重启
最后的id:数字表示启动级别修改启动级别:init 数字(0-6只能在主机进行修改)