文件和目录操作命令
******************
清空历史命令 ----- history -c
查看当前目录下的文件 ----- ls
查看当前目录下所有文件 ----- ls -a
切换目录
切换到当前用户的家目录 ----- cd (回车)
切换最近使用的两次目录 ----- cd -
查看当前目录位置 ----- pwd
查看/etc/passwd文件中包含root的那一行 cat /etc/passewd |grep ^root
新建文件 ----- touch file1
新建多个数字顺序文件 ----- touch file{1..10}.txt
新建隐藏文件 ----- touch .a.txt
删除文件或目录 ----- rm -rf 目标文件或目标目录(可以删除非空目录)
编辑文件 ----- vi 目标文件
查找文件或目录 ----- find 目标目录 -name 文件名
查找一个命令所在位置 ----- which is ls(查找ls命令的位置)
复制文件 cp 文件名 目标目录
复制目录 cp -R 源目录 目标目录
移动文件 mv 源目录 目标目录
查看文件内容 cat 文件名
查看很长的文件 cat 文件名|grep
查看目标文件前十行 ----- head 文件名
查看目标文件后十行 ----- tail 文件名
查看目标文件前n行 ----- head -n 文件名
查看目标文件后n行 ----- tail -n 文件名
当前目录下创建目录 ----- mkdir 目录名
当前目录递归创建目录 ----- mkdir -p dir1/dir2/dir3
查看目录树 ----- tree 目标目录
----- ls lR 目标目录
文件或目录压缩
gz压缩
1.压缩 ----- tar czf aaa.tar.gz 目标文件名或目录名
2.解压 ----- tar xzf 文件名.tar.gz
3.解压到目标目录(如/mnt) ----- tar xzf 文件名.tar.gz -C /mnt
4.查看压缩包里内容 ----- tar tf 文件名.tar.gz
zip压缩
1.压缩 ----- zip file.zip
2.解压 ----- unzip file.zip
3.查看压缩包里内容 ----- unzip -l file.zip
****************************************************************
用户操作
*********************************************************
创建一个用户user1 ----- useradd user1 ----- 在创建用户的同时会在/home下建立以用户名的目录
删除用户user1 ----- userdel -r 用户名
设置user1用户密码 ----- passwd user1
查看用户user1 ----- id user1
禁用用户user1 ----- usermod -L user1
启用用户user1 ----- usermod -U user1
新建用户组group1 ----- groupadd group1
删除用户组group2 ----- groupdel group1
把user1用户加入到用户组group1 ----- gpasswd -a user1 group1
把user1用户从group1组中删除 ----- gpasswd -d user1 group1
*********************************************************
*******************************************************
强制正在执行的程序中断 ----- ctrl+c
清空当前屏幕 ----- clear
清空当前命令行 ----- ctrl+u
命令补全 ----- tab
列出可补全的全部 ----- 双击tab
调用历史命令中离你最近一次的以ser开头的命令 ----- !ser
执行程序后台执行 ----- 命令结尾加 空格&
rsync ----- 操作远程计算机的一个命令后期需要掌握
******************************************************
权限设置
******************************************************
chmod acl sudo
权限常用人群代替字母
u 用户
g 组内其他用户
o 其他用户
a 所有人群
chmod权限
chmod u+x,o+x file1 给用户添加执行权限,给用户同组用户添加执行权限
chmod rwxrwxrwx file2 = chmod 777 file3 给所有人设置777权限
如果对所有用户设置777权限操作 用数字
如果对某一类用户做权限建议用字母(不用去计算数字以免出错)
acl权限分配
1.设置权限
setfacl -m u:user1:rwx feil1
给用户--user1分配读写执行权限
setfacl -m o:user1:rwx file1
给user1组成员设置rwx权限
实际的一个例子
Setfacl –m u:mysql:rwx –R /usr/local/mysql
Setfacl –m d:u:mysql:rwx –R /usr/local/mysql
用acl来让mysql用户对/usr/local/mysql目录具有所有权限
因为mysql目录是数据库来操作只需要让这个目录的执行者具有权限即可
2.获得指定文件权限
getfacl -e file 或者(getfacl 文件名/目录名)
3.删除某一个acl权限
setfacl -x u:user1 file1--对user1用户删除当前目录下file1文件的权限
4.删除所有acl权限
setfacl -b file
5.设置acl的默认权限
setfacl -m d:u:user1:rwx test
#当前目录的子目录会集成目录的acl权限
sudo权限分配
sudo /usr/sbin/useradd user4 给user4用户添加useradd命令的权限
在当前终端切换用户 su - 用户名 或者(su 用户名)
编辑sudo权限(不推荐)
user1 localhost=/usr/sbin/useradd user5,/usr/sbin/userdel -r user5,/sbin/service httpd restart
给user1用户分配localhost后面的操作权限
******************************************************
软件安装命令
***************************************************
rpm(redhat package management)软件安装
1.查看系统中安装的所有rpm包
rpm -qa
2.查看rpm是否被安装
rpm -qa|grep httpd
3.安装rpm包
rpm -ivh httpd-0.0.0.conetos.i386.rpm
4.强制卸载rpm包
rpm -e httpd-0.0.0.conetos.i386.rpm --force --nodeps(nodeps可以截断rpm包的依赖性)
5.查看rpm安装了一些什么(主要为了查看依赖包)
rpm -qpl httpd-0.0.0.conetos.i386.rpm |more
yum查看已经安装的rpm包河yum源中的rpm包
yum list
yum 安装rpm包
yun -y install rpm包名称(或者httpd*)
yum卸载rpm包(会卸载依赖包)
yum -y remove httpd*
#谨慎使用,请使用 rpm -e
rpm安装软件的三个重要mulu
1应用程序目录 /usr/sbin/httpd(应用程序名称)
2配置文件 /etc/应用程序名称的目录/.......
3服务脚本 /etc/init.d/应用程序名的文件
***************************************************
系统服务类命令
**************
启动|重启|停止名称为aaa的系统服务 ----- service aaa start|restart|stop
查看系统中已经挂在的分区 ----- df
查看当前系统挂在分区情况 ----- df -h #-h把以k为单位的换算成m,g这种单位
查看系统当前时间 ----- date
按照固定格式0000-00-00 00:00显示系统时间 ----- date "%Y-%m-%d %H:%M:%S"
设置系统时间 ----- date -s "2010-10-10 10:10:10"
查看当前主机名称 ----- hostname
临时修改主机名称为myPc ----- hostname myPc
永久修改主机名称 ----- vi /etc/sysconfig/network
查看当前运行级别 ----- runlevel
查看计算机ip信息 ifconfig -a(-a可以显示所有网卡地址)
临时修改计算机eth0网卡ip地址 ifconfig eth0 192.168.100.136
查看环境变量 ----- echo $PATH #这个环境变量决定了你能在那些路径下直接找到执行程序
向屏幕输出 hello word ----- echo "hello word"
向file1文件中覆盖输入 hello word ----- echo "hello word">file1
向file1文件中追加输入 hello word ----- echo "hello word">>file1
查看httpd相关进程表 ----- ps -ef |grep httpd
查看进程树 ----- pstree |grep httpd
查看pid号(进程号) ----- pstree -p |grep httpd
查看80端口是否开放 ----- netstat -tunpl |grep :80
查看httpd程序占用端口号 ----- netstat -tunpl |grep httpd*
强制杀掉一个pid ----- kill -9 pid
一次性杀掉所有httpd进程 ----- pkill httpd
kelladd httpd
实时查看系统详细信息 ----- top
查看系统一分钟,五分钟,十五分钟平均负载 ----- uptime
查看在线用户 ----- who
查看最近一段时间谁操作过系统重要命令,并有ip信息 ----- last
查看htpd进程在不同级别下on还是off ----- chkconfig --list httpd
设置一次性计划任务 ----- at 19:43 /sbin/init 6
查看一次性计划任务 ----- atq
删除一次性计划任务 ----- atrm job(atq可以看到job号)
********************************************************
一些目录的作用
***********************************************
查看挂在表目录
cat /etc/fstab
硬件分区 挂载目录 文件系统 文件属性 读取顺序
永久性修改主机名称
vi /etc/sysconfig/network
挂在光盘到/media下
mount /dev/cdrom /media
修改默认启动级别
vi /etc/inittab
id:3:initdefault
运行级别的解释0:关机 3:字符界面 5:图形界面 6:重启
永久方式修改eth0网卡地址
vi /etc/sysconfig/network-scripts/ficfg-eth0
BOOTPROTO=(dhcp--动态,static--静态,none--不设置)
IPADDR=192.168.100.136
NETMASK=255.255.255.0
ONBOOT=yes
查看计算机中的用户
vi /etc/passwd
user1:x:500:500::/home/user1:/bin/bash
用户组文件位置
vi /etc/group
user1:x:500真正的密码文件
vi /etc/shadow
user1:$6$ZWqoztNi$8DZaXNASfMPUvK8q8WlgvlaXOqEfQxkEOO/NZSQ.hq3LPGZMyj61aqxwiP02W3BcZ.eJvlZWoaYUg8RJsdg4m1:16352:0:99999:7:::
!! 说明没有密码
!说明被禁用
配置yum默认为光盘
1. cd /etc/yum.repos.d/
2. mv CentOS-Base.repo CentOS-Base
3. vi CentOS-Media.repo
baseurl=file:///media/ -----这里要填写具体挂在目录
#光盘挂在目的地
gpgcheck=0 #关闭gpg签名
enabled=1 #开启本光盘yum源
配置光盘默认加载到/media(就是修改挂载表文件)
vi /etc/fstab
/dev/cdrom /media iso9660 defaults 0 0
挂载源 目标地址 执行标准
配置计算机开机即执行的程序或者命令(例如默认开机启动httpd程序)
vi /etc/rc.d/rc.local (/etc/rc.local 是一个快捷方式)
添加 service httpd start
**********************************************
防火墙设置
****************************************************
1.iptables
查看状态 ----- iptables -L
清空防火墙策略 ----- iptables -F
保存防火墙策略 ----- service iptables save
2.selinux
关闭selinux防火墙 ----- vi /etc/selinux/config
----- SELINUX=desabled
----- 重启服务器
****************************************************
crontab计划任务
*********************************************************************************
*****分时日月周
00 03 *** 每天3点
30 23 *** 每天23:30
*/5 **** 每隔5分钟
59 23 ** 1-5 周一到周五
59 23 ** 1,3,5 没周一,周三,周五的23:59
案例需求(计划任务的命令要写清楚命令完整路径)
1.每隔两分钟向/mnt/error.log中写入一行aaa
*/2 **** /bin/echo "aaa">>/mnt/error.log
2.每天19:20重启服务器
20 19 *** /sbin/init 6
3.没周一,周三,周五晚上23:00重启服务器
00 23 ** 1,3,5 /sbin/init 6
4.周一到周五每天00:00重启服务器
59 23 ** 1-5 /sbin/init 6
5.每天凌晨3:00把网站制作一个压缩包,并且拷贝到/mnt下,而且压缩包的名字中必须要有日期
{
思路:考虑基本命令
具体操作方法
创建一个执行脚本 vi web.sh
内容如下
#!/bin/bash
DATE=`date +%Y-%m-%d`
file=web-${DATE}.tar.gz
tar czf /tmp/$file /var/www/html
mv -a /tmp/$file /mnt
}
00 03 * * 0 web.sh 计划任务执行这个脚本
6.设置一次性计划任务 at 19:43 /sbin/init 6
查看一次性计划任务 atq
删除一次性计划任务 atrm job号(atq可以看到job号)
创建计划任务:crontab -e
查看计划任务:crontab -l
删除计划任务:crontab -r
**********************************************************************
Linux
系统启动流程:
******************************************************************
1.bios找到磁盘上的mbr主引导扇区
2.进入grub界面选择相应的启动内核
3.读取kernel内核文件-/boot/vmlinuz-*
4.读取init的镜像文件-/boot/initrd-*
5.init去读取/etc/inittab
设置运行级别 0关机 3字符界面 5图形界面 6重启
6.读取启动级(id:3:initdefault)
7.读取/etc/rc.d/rc.sysinit,
读取系统主机名 识别加载硬件驱动
读取selinux防火墙 设置系统字体
进入一个简单的小欢迎页面 设置系统时钟
设置文件和目录权限 加载映射分区
8.读取/etc/rc.d/rc脚本,通过该脚本吸收3级别,然后启动/etc/rc.d/rc3.d下所有以S开头的服务,不启动该目录下以K开头的服务
9.进入登录界面
*****************************************************************
******************
清空历史命令 ----- history -c
查看当前目录下的文件 ----- ls
查看当前目录下所有文件 ----- ls -a
切换目录
切换到当前用户的家目录 ----- cd (回车)
切换最近使用的两次目录 ----- cd -
查看当前目录位置 ----- pwd
查看/etc/passwd文件中包含root的那一行 cat /etc/passewd |grep ^root
新建文件 ----- touch file1
新建多个数字顺序文件 ----- touch file{1..10}.txt
新建隐藏文件 ----- touch .a.txt
删除文件或目录 ----- rm -rf 目标文件或目标目录(可以删除非空目录)
编辑文件 ----- vi 目标文件
查找文件或目录 ----- find 目标目录 -name 文件名
查找一个命令所在位置 ----- which is ls(查找ls命令的位置)
复制文件 cp 文件名 目标目录
复制目录 cp -R 源目录 目标目录
移动文件 mv 源目录 目标目录
查看文件内容 cat 文件名
查看很长的文件 cat 文件名|grep
查看目标文件前十行 ----- head 文件名
查看目标文件后十行 ----- tail 文件名
查看目标文件前n行 ----- head -n 文件名
查看目标文件后n行 ----- tail -n 文件名
当前目录下创建目录 ----- mkdir 目录名
当前目录递归创建目录 ----- mkdir -p dir1/dir2/dir3
查看目录树 ----- tree 目标目录
----- ls lR 目标目录
文件或目录压缩
gz压缩
1.压缩 ----- tar czf aaa.tar.gz 目标文件名或目录名
2.解压 ----- tar xzf 文件名.tar.gz
3.解压到目标目录(如/mnt) ----- tar xzf 文件名.tar.gz -C /mnt
4.查看压缩包里内容 ----- tar tf 文件名.tar.gz
zip压缩
1.压缩 ----- zip file.zip
2.解压 ----- unzip file.zip
3.查看压缩包里内容 ----- unzip -l file.zip
****************************************************************
用户操作
*********************************************************
创建一个用户user1 ----- useradd user1 ----- 在创建用户的同时会在/home下建立以用户名的目录
删除用户user1 ----- userdel -r 用户名
设置user1用户密码 ----- passwd user1
查看用户user1 ----- id user1
禁用用户user1 ----- usermod -L user1
启用用户user1 ----- usermod -U user1
新建用户组group1 ----- groupadd group1
删除用户组group2 ----- groupdel group1
把user1用户加入到用户组group1 ----- gpasswd -a user1 group1
把user1用户从group1组中删除 ----- gpasswd -d user1 group1
*********************************************************
*******************************************************
强制正在执行的程序中断 ----- ctrl+c
清空当前屏幕 ----- clear
清空当前命令行 ----- ctrl+u
命令补全 ----- tab
列出可补全的全部 ----- 双击tab
调用历史命令中离你最近一次的以ser开头的命令 ----- !ser
执行程序后台执行 ----- 命令结尾加 空格&
rsync ----- 操作远程计算机的一个命令后期需要掌握
******************************************************
权限设置
******************************************************
chmod acl sudo
权限常用人群代替字母
u 用户
g 组内其他用户
o 其他用户
a 所有人群
chmod权限
chmod u+x,o+x file1 给用户添加执行权限,给用户同组用户添加执行权限
chmod rwxrwxrwx file2 = chmod 777 file3 给所有人设置777权限
如果对所有用户设置777权限操作 用数字
如果对某一类用户做权限建议用字母(不用去计算数字以免出错)
acl权限分配
1.设置权限
setfacl -m u:user1:rwx feil1
给用户--user1分配读写执行权限
setfacl -m o:user1:rwx file1
给user1组成员设置rwx权限
实际的一个例子
Setfacl –m u:mysql:rwx –R /usr/local/mysql
Setfacl –m d:u:mysql:rwx –R /usr/local/mysql
用acl来让mysql用户对/usr/local/mysql目录具有所有权限
因为mysql目录是数据库来操作只需要让这个目录的执行者具有权限即可
2.获得指定文件权限
getfacl -e file 或者(getfacl 文件名/目录名)
3.删除某一个acl权限
setfacl -x u:user1 file1--对user1用户删除当前目录下file1文件的权限
4.删除所有acl权限
setfacl -b file
5.设置acl的默认权限
setfacl -m d:u:user1:rwx test
#当前目录的子目录会集成目录的acl权限
sudo权限分配
sudo /usr/sbin/useradd user4 给user4用户添加useradd命令的权限
在当前终端切换用户 su - 用户名 或者(su 用户名)
编辑sudo权限(不推荐)
user1 localhost=/usr/sbin/useradd user5,/usr/sbin/userdel -r user5,/sbin/service httpd restart
给user1用户分配localhost后面的操作权限
******************************************************
软件安装命令
***************************************************
rpm(redhat package management)软件安装
1.查看系统中安装的所有rpm包
rpm -qa
2.查看rpm是否被安装
rpm -qa|grep httpd
3.安装rpm包
rpm -ivh httpd-0.0.0.conetos.i386.rpm
4.强制卸载rpm包
rpm -e httpd-0.0.0.conetos.i386.rpm --force --nodeps(nodeps可以截断rpm包的依赖性)
5.查看rpm安装了一些什么(主要为了查看依赖包)
rpm -qpl httpd-0.0.0.conetos.i386.rpm |more
yum查看已经安装的rpm包河yum源中的rpm包
yum list
yum 安装rpm包
yun -y install rpm包名称(或者httpd*)
yum卸载rpm包(会卸载依赖包)
yum -y remove httpd*
#谨慎使用,请使用 rpm -e
rpm安装软件的三个重要mulu
1应用程序目录 /usr/sbin/httpd(应用程序名称)
2配置文件 /etc/应用程序名称的目录/.......
3服务脚本 /etc/init.d/应用程序名的文件
***************************************************
系统服务类命令
**************
启动|重启|停止名称为aaa的系统服务 ----- service aaa start|restart|stop
查看系统中已经挂在的分区 ----- df
查看当前系统挂在分区情况 ----- df -h #-h把以k为单位的换算成m,g这种单位
查看系统当前时间 ----- date
按照固定格式0000-00-00 00:00显示系统时间 ----- date "%Y-%m-%d %H:%M:%S"
设置系统时间 ----- date -s "2010-10-10 10:10:10"
查看当前主机名称 ----- hostname
临时修改主机名称为myPc ----- hostname myPc
永久修改主机名称 ----- vi /etc/sysconfig/network
查看当前运行级别 ----- runlevel
查看计算机ip信息 ifconfig -a(-a可以显示所有网卡地址)
临时修改计算机eth0网卡ip地址 ifconfig eth0 192.168.100.136
查看环境变量 ----- echo $PATH #这个环境变量决定了你能在那些路径下直接找到执行程序
向屏幕输出 hello word ----- echo "hello word"
向file1文件中覆盖输入 hello word ----- echo "hello word">file1
向file1文件中追加输入 hello word ----- echo "hello word">>file1
查看httpd相关进程表 ----- ps -ef |grep httpd
查看进程树 ----- pstree |grep httpd
查看pid号(进程号) ----- pstree -p |grep httpd
查看80端口是否开放 ----- netstat -tunpl |grep :80
查看httpd程序占用端口号 ----- netstat -tunpl |grep httpd*
强制杀掉一个pid ----- kill -9 pid
一次性杀掉所有httpd进程 ----- pkill httpd
kelladd httpd
实时查看系统详细信息 ----- top
查看系统一分钟,五分钟,十五分钟平均负载 ----- uptime
查看在线用户 ----- who
查看最近一段时间谁操作过系统重要命令,并有ip信息 ----- last
查看htpd进程在不同级别下on还是off ----- chkconfig --list httpd
设置一次性计划任务 ----- at 19:43 /sbin/init 6
查看一次性计划任务 ----- atq
删除一次性计划任务 ----- atrm job(atq可以看到job号)
********************************************************
一些目录的作用
***********************************************
查看挂在表目录
cat /etc/fstab
硬件分区 挂载目录 文件系统 文件属性 读取顺序
永久性修改主机名称
vi /etc/sysconfig/network
挂在光盘到/media下
mount /dev/cdrom /media
修改默认启动级别
vi /etc/inittab
id:3:initdefault
运行级别的解释0:关机 3:字符界面 5:图形界面 6:重启
永久方式修改eth0网卡地址
vi /etc/sysconfig/network-scripts/ficfg-eth0
BOOTPROTO=(dhcp--动态,static--静态,none--不设置)
IPADDR=192.168.100.136
NETMASK=255.255.255.0
ONBOOT=yes
查看计算机中的用户
vi /etc/passwd
user1:x:500:500::/home/user1:/bin/bash
用户组文件位置
vi /etc/group
user1:x:500真正的密码文件
vi /etc/shadow
user1:$6$ZWqoztNi$8DZaXNASfMPUvK8q8WlgvlaXOqEfQxkEOO/NZSQ.hq3LPGZMyj61aqxwiP02W3BcZ.eJvlZWoaYUg8RJsdg4m1:16352:0:99999:7:::
!! 说明没有密码
!说明被禁用
配置yum默认为光盘
1. cd /etc/yum.repos.d/
2. mv CentOS-Base.repo CentOS-Base
3. vi CentOS-Media.repo
baseurl=file:///media/ -----这里要填写具体挂在目录
#光盘挂在目的地
gpgcheck=0 #关闭gpg签名
enabled=1 #开启本光盘yum源
配置光盘默认加载到/media(就是修改挂载表文件)
vi /etc/fstab
/dev/cdrom /media iso9660 defaults 0 0
挂载源 目标地址 执行标准
配置计算机开机即执行的程序或者命令(例如默认开机启动httpd程序)
vi /etc/rc.d/rc.local (/etc/rc.local 是一个快捷方式)
添加 service httpd start
**********************************************
防火墙设置
****************************************************
1.iptables
查看状态 ----- iptables -L
清空防火墙策略 ----- iptables -F
保存防火墙策略 ----- service iptables save
2.selinux
关闭selinux防火墙 ----- vi /etc/selinux/config
----- SELINUX=desabled
----- 重启服务器
****************************************************
crontab计划任务
*********************************************************************************
*****分时日月周
00 03 *** 每天3点
30 23 *** 每天23:30
*/5 **** 每隔5分钟
59 23 ** 1-5 周一到周五
59 23 ** 1,3,5 没周一,周三,周五的23:59
案例需求(计划任务的命令要写清楚命令完整路径)
1.每隔两分钟向/mnt/error.log中写入一行aaa
*/2 **** /bin/echo "aaa">>/mnt/error.log
2.每天19:20重启服务器
20 19 *** /sbin/init 6
3.没周一,周三,周五晚上23:00重启服务器
00 23 ** 1,3,5 /sbin/init 6
4.周一到周五每天00:00重启服务器
59 23 ** 1-5 /sbin/init 6
5.每天凌晨3:00把网站制作一个压缩包,并且拷贝到/mnt下,而且压缩包的名字中必须要有日期
{
思路:考虑基本命令
具体操作方法
创建一个执行脚本 vi web.sh
内容如下
#!/bin/bash
DATE=`date +%Y-%m-%d`
file=web-${DATE}.tar.gz
tar czf /tmp/$file /var/www/html
mv -a /tmp/$file /mnt
}
00 03 * * 0 web.sh 计划任务执行这个脚本
6.设置一次性计划任务 at 19:43 /sbin/init 6
查看一次性计划任务 atq
删除一次性计划任务 atrm job号(atq可以看到job号)
创建计划任务:crontab -e
查看计划任务:crontab -l
删除计划任务:crontab -r
**********************************************************************
Linux
系统启动流程:
******************************************************************
1.bios找到磁盘上的mbr主引导扇区
2.进入grub界面选择相应的启动内核
3.读取kernel内核文件-/boot/vmlinuz-*
4.读取init的镜像文件-/boot/initrd-*
5.init去读取/etc/inittab
设置运行级别 0关机 3字符界面 5图形界面 6重启
6.读取启动级(id:3:initdefault)
7.读取/etc/rc.d/rc.sysinit,
读取系统主机名 识别加载硬件驱动
读取selinux防火墙 设置系统字体
进入一个简单的小欢迎页面 设置系统时钟
设置文件和目录权限 加载映射分区
8.读取/etc/rc.d/rc脚本,通过该脚本吸收3级别,然后启动/etc/rc.d/rc3.d下所有以S开头的服务,不启动该目录下以K开头的服务
9.进入登录界面
*****************************************************************