一
ls -a
man -ls
mkdir test
cd test
pwd
touch newfile
cp /etc/profile .
cp profile profile.bak
ls -a
less profile
less -p then profile
grep then profile
ln -s profile /root/test/lnsprofile
ln profile /root/test/lnhprofile
ls -l
rm profile
ls -l
less lnsprofile
less lnhprofile
rm lnsprofile
ls
cd ..
tar -cvf test.tar test
ls
gzip test.tar
mv test.tar.gz backup.tar.gz
mv backup.tar.gz test
cd test
ls
tar -xvzf backup.tar.gz
cd ..
cp -R test testbak
ls
find -name newfile
cd ..
ls
rmdir test
ls
cd ..
rm -R test
ls
cd /var/lib
find -user games
find -user root
cat /etc/passwd | grep test > /tmp/test.info
ls /etc | grep "init*" > /tmp/init.file
cat /tmp/init.file
二.组
groupadd -g 6000 usergrp
cat /etc/group|grep usergrp
useradd -u 6000 -G usergrp user1
cat /etc/passwd|grep user1
useradd -d /user2 -G root -G usergrp user2
passwd user2
useradd -M -s /sbin/nologin user3
cat /etc/passwd|grep user3
chage -d 0 user1
chage -d 30 -E 2017-10-10 user2
mkdir -p /var/www/user1
chown user1:usergrp /var/www/user1
chmod 754 /var/www/user1
ll -dl /var/www/user1
mkdir /test
chmod 1777 /test
ll -dl /test
三.逻辑卷
fdisk /dev/sdd
pvcreate /dev/sdd{1..2} //创建物理卷
pvs //查看物理卷
vgcreate -s 16M testvg /dev/sdd{1..2}
vgs
lvcreate -L 5G -n testlv testvg
lvs
mkfs -t ext4 /dev/testvg/testlv
blkid /dev/testvg/testlv //检查是否分配UID
mkdir /users
mount /dev/testvg/testlv /users
df -h |grep users
mkdir /users //如果之前已经创建了,此步跳过。
useradd -d /users/archlinux archlinux
su - archlinux
cp -a /etc/pam.d .
ls /users/archlinux/pam.d/ |wc -l
vgs
lvs
lvextnd -L +2G /dev/testvg/testlv
lvs
ls /users/archlinux/pam.d |wc -l
umount /users
e2fsck -f /dev/testvg/testlv
resize2fs -p /dev/testvg/testlv 3G
lvreduce -L 3G /dev/testvg/testlv
lvs
mount /dev/testvg/testlv /users
df -h|grep users
ls /users/archlinux/pam.d |wc -l
lvcreate -n testnap -s -L 1G /dev/testvg/testlv
lvdispaly /dev/testvg/testnap
mkdir /users/testnap
mount /dev/testvg/testnap /users/testnap
df -h|grep /users/testnap
rm -f /users/archlinux/pam.d/a*
ls /users/archlinux/pam.d/ |wc -l
ls /users/testnap/archlinux/pam.d |wc -l
tar -zcf /tmp/testnap.tar.gz /users/testnap/archlinux/pam.d/*
umount /users/testnap
df -h|grep users
tar -zxf /tmp/testnap.tar.gz -C ./
ls /testnap/archlinux/pam.d/ |wc -l
四.
fdisk -l
fdisk /dev/sdb
mkfs -t ext3 /dev/sdb1
mkfs -t vfat /dev/sdb5
fsck /dev/sdb1
fsck /dev/sdb5
mkdir /mnt/mountpoint1 /mnt/mountpoint2
mount -t ext3 /dev/sdb1 /mnt/mountpoint1
mount -t vfat /dev/sdb5 /mnt/mountpoint2
mount
umount /mnt/mountpoint1
umount /mnt/mountpoint2
shutdown -r now
df -h
vi /etc/fstab
/dev/sdb1 /mnt/mountpoint1 ext3 defaults 0 0
/dev/sdb5 /mnt/mountpoint2 vfat defaults 0 0
shutdown -r now
df -h
dd if=zero of=/swap/myswap.swap bs=1M count=500
mkswap /swap/myswap.swap
chmod 0600 /swap/myswap.swap
swapon -s
shutdown -r now
swapon -s
五.
crontab -e
crontab -l
50 7*米*/sbin/service sshd start
50 22米米米/sbin/service sshd stop
* **/5**rm-rf /var/ftp/ pub/*
|30 7米米6 /sbin/service httpd start
|30 17米米5 tar-zcvf /etc/httpd /home
|30 21 *米*/sbin/reboot & rm - rf /var/www/user1 /*
|30 17米米1-5 /sbin/ poweroff
ps aux|head -1
ps aux|grep -v PID|sort -rn -k +3|head -1
renice 15 -p 2558
vim &
kill -s kill 2957
cat >test //执行程序
输入 ctrl z 挂起程序
jobs
bg
fg
at 3:00am
ps -aux
ctrl+d
vi /etc/at.deny
cat /etc/at.deny
六。思考
在Red Hat Enterprise Linux系统中,每个用户都拥有一个唯一的标识符,称为用户ID( UID)。
Red Hat Enterprise Linux系统中的用户至少属于一个组, 称为用户分组。
用户分组是由系统管理员建立的,一个用户分组内包含若干个用户,一个用户也可以归属于不同的分组。
用户分组也有一个唯一的标识符, 称为分组ID (GID )。对某个文件的访问都是以文件的用户ID和分组ID为基础的。同时根据用户和分组信息可以控制如何授权用户访问系统,以及允许访问后用户可以进行的操作权限。
当用户登陆系统时所取的shell。
登录shell属于交互shell。
登录式shell
非登录式shell
将其shell设置为 /usr/sbin/nologin 或 /bin/false
主要是通过 /etc/login.defs 与 pam_cracklib.so 实现
设置密码的有效期和最小长度
设置用户密码的复杂度
Linux用户密码的有效期,是否可以修改密码可以通过login.defs文件控制。
对login.defs文件修只影响后续建立的用户,如果要改变以前建立的用户的有效期等可以使用chage命令。
Linux用户密码的复杂度可以通过pam pam_cracklib module或pam_passwdqc module控制,两者不能同时使用。
[Linux用户密码策略](https://www.cnblogs.com/cheyunhua/p/8342819.html)
usermod -e //设置密码用户密码过期时间
使用管理员权限运行命令chage,设置某个用户的密码永不过期
sudo chage -m 9999 username//将用户名密码设置为9999天过期。
让用户密码过期,就可以让其修改密码。修改密码用chage,将上次密码更改的日期设置为0。
chage [选项] 用户名
chage -d 0 用户名
存储需永久保存的数据(访问速度慢,成本低)
FAT:文件分配表
FAT32
NTFS
目前常见的磁盘包括 硬盘、软盘、光盘、磁带与闪存。
IDE磁盘、SCSI磁盘、软盘、移动磁盘
文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法
Linux中默认使用的文件系统类型:
EXT4, 第4代扩展(Extended)文件系统
SWAP,交换文件系统
Linux支持的其它文件系统类型
FAT16、FAT32、NTFS
XFS、JFS
……
1. Samba(用于Linux 和windows之间的共享,ubuntu里面默认没有安装samba)
2. NFS (Network File Service),NFS用于Linux系统之间的文件共享。
3. tftp形式进行共享
交换内存是Red Hat Enterprise Linux用来暂时取代物理内存,以提供更多内存空间的一种机制。
依照空间单位分为:
分区类型的交换内存:效率高,弹性差。
文件类型的交换内存:弹性佳,效率较差。
Logical Volume Manager,逻辑卷管理
它是Linux环境下对磁盘分区进行管理的一种机制
屏蔽了底层磁盘布局,便于动态调整磁盘容量。
需要注意:
/boot分区用于存放引导文件,不能应用LVM机制
PV(Physical Volume,物理卷)
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(Physical Extent,基本单元)
VG(Volume Group,卷组)
一个或多个物理卷组合而成的整体
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统
可以。
放大:先放大LV,再放大系统文件。
缩小:先缩小系统文件,再缩小LV。
可以
对于具有LVM类型的分区,可以组成PV;
VG是由一个个PV组成,不可以直接使用;
VG类似于扩展分区,随着VG中的PV的增减,VG也会自动增减;
VG的上层就是LV,LV就类似于逻辑分区,通过将LV格式化(也就是创建文件系统),挂载后,就可以使用。
一定要做好备份。
在缩小ext4文件系统时,先卸载ext4文件系统。放大则无此限制。
(1)、新建空分区
fdisk -c /dev/vdb
(2)、查看分区
fdisk -l
(3)、创建物理卷
格式:pvcreate 设备名
(4)、创建卷组
进程是指一个程序在其自身的虚拟地址空间中的一次执行活动,是系统资源分配和调度的基本单位。
程序则是指存储在磁盘上包括可执行机器指令和数据的静态实体。
两者的不同之处主要如下。
(1)程序只是个静态的指令集合,而进程是一个程序的动态执行过程,它具有生命周期,是动态地产生和消亡的。
(2)进程是系统资源分配和调度的基本单位,因此,它使用系统的运行资源。而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。
(3)程序和进程无一对应的关系。 一方面一个程序可以由多个进程所共用,即一个程序在运行过程中可以产生多个进程;另一方面, 一-个进程在生命期内可以顺序地执行若干个程序。
Red Hat Enterprise Linux操作系统是多任务的,如果一个应用程序需要几个进程并发地协调运行来完成相关工作,系统会安排这些进程并发运行,同时完成对这些进程的调度和管理任务,包括CPU、内存、存储器等系统资源的分配。
程序:
保存在硬盘、光盘等介质中的可执行代码和数据
是静态保存的代码
进程:
在CPU及内存中运行的程序代码
是动态执行的代码
父、子进程:每个进程可以创建一个或多个进程
(1)交互进程:由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
(2)批处理进程:不与特定的终端相关联,提交到就绪队列中顺序执行的进程。
(3)守护进程:是指在后台运行而又没有终端或登录Shell与之结合在一起的进程。 守护进程经常在系统启动时开始运行,在系统结束时停止。这些进程没有控制终端,所以称为在后台运行。
主要状态如下:
运行态
等待态
停止态
僵死态
当子进程(child process)先于父进程(parent process)退出,但是父进程没有调用wait/waitpid回收子进程的资源,则子进程变成僵尸进程。
危害:
进程的退出状态必须被维持下去,父进程如果一直不读取,那子进程就一直处于Z状态。
维护退出状态本身就是要用数据维护,也属于进程基本信息,所以保存在task_struct(PCB)中。Z状态一直不退出,PCB一直都要维护。
如果进程不调用 wait / waitpid 的话, 那么保留的那段信息就不会释放,其进程号就会一直被占用,
但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程。
一次性或周期性地自动完成某些任务。
一次性计划任务 at调度
周期性计划任务 cron调度
atq(查看计划任务)
atm(删除任务计划)
crontab 命令--管理用户的计划任务
-u:指定所管理的计划任务属于哪个用户,默认是当前用户。
一般只有 root 用户有权限使用此选项(用于编辑、删除其他用户的计划任务);
程序
链接库
脚本