1. 来源:
Unix: IBM、惠普 一般 公司 买不起, 用linux
Unix: 分支linux 、solaris(sun公司的)、android
linux 林纳斯内核版本
发行版本的2个分支: ubuntu系统
redhat系列(centos是redhat的社区版)
2. Linux各级目录
/bin: 所有用户可以执行命令,单用户可以执行(类型windows安全模式)
/sbin:超级用户才可以执行
/usr/bin: 普通用户和超级用户都可以执行, 单用户不可以执行
/usr/sbin: 只有超级用户才可执行,不必要系统管理命令
/dev: 设备文件目录
/etc: linxu默认配置文件
/home: 每个用户的宿主目录
/ lib : 系统调用库
/ media: 挂载目录,系统建议用于挂载 软盘、光盘
/ mnt : 挂载目录, 用于挂载 U盘、移动硬盘 操作系统其它分区
/opt : 第三方软件安装目录建议 c/Programs Files,不过习惯放到/usr/local目录下
/proc: 进程运行信息,cpu 信息
/sys: 保存内核相关信息 运行中
/srv: 系统服务运行中产生的临时数据
/tmp: 临时文件
/usr: 相当于C:\Windows目录, 系统的资源目录 Unix Resource
/var: 软件产生动态数据保存位置,比如日志、软件运行产生文件
命令格式:
命令 [-选项] [参数]
3. ls 命令
-a: 显示所有文件,包括隐藏文件, Linux以.开头的,改名.开头文件名,就可以隐藏了
-l: 详细信息
drwxr-xr-x. 2 root root 6 4月 11 2018 opt
权限 所有者 所属组 文件大小 文件最后修改时间
ls -lh , 用k 显示
drwxrwxrwt. 27 root root 4.0K 3月 29 19:06 tmp
-i: 查看所有文件|目录的 innode号
-:文件
d: 目录
l: 软连接
rwx 读(r)写(w)执行(x) 421
所有者 所属组 其他人
4. mkdir
mkdir -p /home/abc/def : 不存在目录页 创建
cp abc tep -r : 复制目录
mv bb.txt cc.txt: 改名| 剪切
rm -r 删除目录,会询问
rm -rf : 强制删除
一个文件太长cat命令不好看:
more /etc/services :
空格或者 f 翻页
enter 换行
q 退出
less /etc/services :
上箭头 :往上换行
PgUp: 往上翻页
/关键词:查找内容
head -n 7 /etc/services: 看前 7行
tail -n 7 /etc/services: 看末尾 7 行
tail -f /etc/services: 监控文件,动态变化
5. ln 链接命令
ln -s bb.txt soft.txt: 软链接,类似windows的快捷方式
ln bb.txt ying.txt: 硬链接,可以同步更新,不可以跨分区,不可以设置目录
如何判断通过ls -i: Innode节点相同
6. chmod 修改权限
chmod g+w,o+w,u-w ying.txt: 所有者去掉w, 所属组加w,其他用户加w
chmod g=rwx ying.txt: 给 g 修改 rwx
chmod 755 ying.txt
chmod 777 bb -R :改变目录以及目录下所有文件
文件目录权限理解
file:
r:cat/more/head/tail/less
w: vim
x :commond
directory:
r: ls
w: touch/mkdir/rmdir/rm
x: cd
****删除一个文件,是对该用户对该文件所在目录有写权限
7. chown 所有者、所属组
只有root用户可以做
chown xiaoming c.txt :修改文件所有者
chgrp xiaoming c.txt : 修改所属组
-rwxrwxrwx. 1 xiaoming xiaoming 0 3月 29 21:59 c.txt
谁创建文件,谁就属于文件所有者, 默认缺省组 就是文件创建者
一个用户可以属于多个组
umask
目录默认:755 rwx r-x r-x
文件默认:rw- r--- r--
8. linux 文件查找命令
8.1. 根据名称
find /etc -name init : /etc目录 -name: 根据名字查找
配合通配符使用:
find /etc -name init*: 以 init 开头文件
find /etc -iname init*: 搜索不区分大小写
8.2. 根据大小
find / -size +204800: 大于100M文件,单位是数据块
+n: 大于 -n 大于 n等于
204800(块)*0.5= 102400KB = 100M
Linux一个数据块512字节,0.5K,linux存储文件最小单位
8.3. 条件连接
find /etc -size +163840 -a -size -204800: 查找大于80M小于100M 文件
-a 两个条件同时满足
-o: 两个条件 满足一个即可
find /etc -size +163840 -a -size -204800
8.4. 根据时间
find ./ -cmin -5 : 5分钟内文件属性被修改的文件,比如所有者所组
find ./ -mmin -5 : 5分钟文件内容被修改的文件
8.5. 根据文件所有者
find /home/denganzhi/ -user denganzhi 根据所有者
-group 根据所属组查找
8.6. exec
在/etc下找到文件, exec 对find 查找结果进行 ls -l 查看详细信息
find /etc -name init -a -type f -exec ls -l {} \;
-type f 文件
d 目录
l 软连接文件
find ./ -name hello.txt -exec rm -rf {} \; 查找文件删除
9.locate
类似widnows上的evetything 速度非常快
原理:去搜索 /var/lib/mlocate/mlocate.db 目录,linux下所有文件的所有都在这里,locate就是在这里找
yum install mlocate: 如果没有安装安装即可
updatedb : 如果新建立文件,没有加入 mlocate.db 中,那么可以使用 updatedb 加入
locate inittab : 使用,查找 inittab
locate -i inittab: 不区分大小写
10. 查找命令所在位置 ,命令是否有别名
which ls;
whereis useradd: 还可以找到命令帮助文档所在路径
11. 帮助命令:
man ls 1: 查看命令帮助,看命令功能
如果查找某一个参数,比如-d 参数 , 可以 /-d 快速定位
修改系统时间: date 031410252016.44 根据man命令的查看的格式
man service 5 :查看 service 配置文件帮助,看 配置文件功能,记住不要加路径
man下常用章节:
1 标准用户命令
2 系统调用
3 库调用
5 配置文件系统
上面man字太多了:
whatis ls : 使用这个命令,一句话概述命令功能
apropos inittab :一句话概述配置文件功能
touch --help: 把常用参数选项列出来
12. who 有多少个用户登录
useradd xiaoming: 添加用户名
passwd xiaoming: 设置密码
who 查看用户登录信息
登录用户名 登录终端 登录时间,登录地址,远程登录(192.168.31.1)
root pts/0 2020-04-12 20:28 (192.168.31.1)
denganzhi pts/1 2020-04-12 20:30 (192.168.31.1)
Last 查看目前各过去用户登录信息: 如果有黑客工具登录
13. 压缩
linux 压缩格式:
文件压缩: .gz
gzip aa.txt ,压缩完成以后不保留源文件
gunzip aa.txt.gz
文件夹压缩:
tar -czvf hello.tar.gz hello cvf:打tar包 z压缩.gz
tar -xzvf hello.tar.gz : 解包
tar -xzvf aa.tar.gz -C ./cc : 解压指定目录
.zip:
zip bb.zip bb : 压缩文件.保留原文件
zip -r bound.zip bound : 压缩文件夹
unzip bound.zip
bzip2: 推荐压缩大文件
bzip2 -k file: 压缩文件,-k 保留原文件
tar -cjvf cc.tar.bz2 cc: 打包 bz2
tar -xjvf cc.tar.bz2
14. 网络命令
14.1 ping www.baidu.com -c 3
windows只能 ping 4次 linux不断ping下去 -c次数
14.2. ifconfig
ens33 centos7把 eth0 改成 ens33, 0表示 第0块网卡
lo
修改IP: ifconfig ens33 192.168.8.250
1、vi /etc/sysconfig/network-scripts/ifcfg-ens33
把 ONBOOT="no" 改为 yes,启动网卡意识就是
2、 service network restart : 重启网络服务
14.3. mail 邮箱,比如系统给你发了邮箱,怎么看
怎么给别入发:mail denganzhi, ctrl+d 结束
denganzhi登录:
mail : 查看邮件
进入邮箱界面: 查看第一封输入 1,恢复栏目界面 h d 1:删除第一封邮件
14.4. 路由追踪
traceroute www.baidu.com: 查看访问某一个路由节点的信息
netstat -tuln: tcp udp 查看tcp、udp 监听了哪些端口,哪些端口打开了
netstat -an : 所有连接信息
15. 关机
shutdown -h now : 立即关机
shutdown -h 20:30 :定时关机8.30晚上
shutdown -c: 取消前一个关机命令
-r: 重启
Linux系统运行级别,启动的时候可以进入对应级别
0 关机
1 单用户(root),类似windows安装模式,启动最小服务器,进入系统,无图像界面
为什么:问题可能是系统服务器导致的,首先进入,然后在修复查找那哪个服务器问题,修复
2 不完全多用户,不含NFS服务(NFS不安全)
3. 完全多用户
4. 未分配
5. 图形界面
6. 重启
比如init 0关机 , init 6 重启
linux修改系统默认运行级别: cat /etc/inittab, centos7这个废弃了这个文件
id: 3 :initdefault: 设置id 5
runlevel 命令查看 当前运行级别
logout : 退出登录,记得退出
16. 用户管理:
用户配置信息 /etc/passwd
密码文件: /etc/shasow
组信息文件: /etc/group
组密码文件:/etc/gshasow
16.1.man 5 passwd: 这里不用打绝对路径注意, cat /etc/passwd命令
解读:
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin: 每一行代表一个用户
apache: 用户名称
x: 密码标志,密码不存在这里,在/etc/shasow
48: 用户id , 在内核中唯一标识
0: 超级用户
1-499: 系统用户(伪用户),启动服务器的用户,不能登录
500-65535: 普通用户
***如果普通用户把uid改成0,就是root用户了
48: 用户初始组id(gid),用户建立的时候,
附加组:用户可以加入其它用户组,可以加入多个
Apache:用户说明
/usr/share/httpd: 用户家目录
/sbin/nologin: 对应的shell命令位置
16.2.cat /etc/shasow
root:$6$wZmVb2sVHGSun3fai.02V4kR.4/8lGlMSnTg.84wM4uDjYZ1::0:99999:7:::
root: 用户名
第2字段:加密密码
加密算法sha512
如果密码是 !! 或者* 标识没有密码,不能登录
第3字段:密码最后一次修改日期,
18364表示什么意思:表示1970.1.1到今天,一共共有1836 天,每过一天+1
5个,99999: 密码有效期,99999天
时间戳—>日期: date -d "1970-01-01 16066 days" 16066是天
输出 :2013年 12月 27日 星期五 00:00:00 CST
日期->时间戳: 天
echo $(( $(date --date="2013/12/27" +%s)/86400 +1));
16.3. cat /etc/group: 每添加一个用户都会生成一个和用户名相同的组作为默认组
root:x:0:liming
root 组名
x: 组密码标识,/etc/gshasow ,没用
0 用户的组ID
liming: liming用户的附加组就是root
16.4.用户家目录:
普通用户: /home/用户名称,自动创建
root用户: root
/var/spool/mail/用户名:用户邮箱,用于用户之间通信
/etc/skel/ : 用户模板目录,创建新用的时候会把这里的内容拷贝到家目录下
16.5.用户管理:
useradd xiaohei
useradd -u 666 -G root,xiaoming -c "test users" liming: 添加用户
-u: 手动指定用户id
-G: 附加组加入
-c: 用户说明
passwd xiaoming : 设置密码
passwd: 修改密码
** echo "123456" | passwd --stdin lamp: 把"123456" 字符串作为lamp 密码
usermod -u 555 -G xiaohei -c "test users new" liming: 修改用户
userdel -r liming: 删除用户
id denganzhi
uid=0(root) gid=0(root) 组=0(root) 用户id,组id,附加组id
su - liming: 切换用户
su - root: 必须加- 否则环境变量无法切换
gpasswd -a xiaoze root: 把xiaoze 加入root组
cat /etc/group: 查看附加组
gpasswd -d denganzhi root: 从附加组删除
组命令:groupadd、groupdel、照葫芦画瓢
groupmod -n testgrp group1:把 组名group1改成testgrp
17. 磁盘管理
df -h : 查看文件系统信息
df 占用量比 du大,du只是面向文件,只会计算文件或目录占用空间
df: 除了文件目录占用空间,还有统计被命令或者程序占用空间
ls -lh: 统计子目录大小
du /etc/ : 统计子孙目录大小
du -sh /etc :统计某一个文件大小
-s: 统计总占用量,而不列出子目录和子文件的占用量
-h: 使用习惯单位显示磁盘占用量 KB,MB,GB等
mount -l: 查看系统中已经挂载的设备,设备文件描述符 /dev/sr0 on /mnt/cdrom type iso9660
mount -t 文件系统:加入文件系统来指定挂载类型、可以ext3、ext4、iso9660等文件系统
-o 特殊选项: 可以指定挂载的额外选项
mount -o remount,rw /dev/sr0 /mnt/cdrom : remount重新挂载读写权限,这样可以修改默认挂载只读光盘
挂载光盘:
mount -t iso9660 /dev/sr0 /mnt/cdrom: 挂载就是把设备文件名和挂载点对应起来
umount /dev/cdrom
挂载U盘: 自动识别sdb sdc 不行???
1. fdisk -l : 查看是否已经识别
2. mount -t vfat /dev/sdb /mnt/usb
fat: fat16
vfat: fat32