Linux命令,Shell编程

第3讲:Linux客户端与Linux服务器的链接
1.确认Linux服务器IP地址
2.客户端(Windows)ping Linux服务器
如果不通,分析原因:
2.1查看Linux服务器防火墙是否关闭
2.2查看网络连接
3.putty客户端的配置
3.1通过设置IP地址,起别名连接到Linux服务器;
3.2设置putty的字体,change settings;设置字符集(UTF-8);保存设置
4.winscp客户端的配置
5.Reboot重启 shutdown -h now 关机
第4讲:如果客户端无法连接到wmware(linux)的解决方法
1.关闭Linux服务器
2.通过vmware->edit->vitual network…
重置网络配置
3.Windows上ping Linux服务器
第5讲:Linux磁盘分区及文件类型
dev代表硬件设备所在的目录
1.hd代表ide设备(ide硬盘)
Sd代表scsi设备(scsi硬盘)
a、b、c标示不同的磁盘
1、2、3、4代表不同的分区

2.一块硬盘最多有四个主分区(第一个分区叫做hda1,第二个叫做hda2)逻辑分区是 在扩展分区的基础上进行的
第一个逻辑分区是从“hda5”开始的,前面的留给了主分区
把四个主分区中的一个主分区拿出来当成扩展分区,在扩展分区的基础上划分了逻辑分区
U盘是FAT32单个文件不能超过2g,NTFS没有要求
第6讲:Linux命令分类与命令格式
1.Linux的命令需要解释器去解释(/bin/bash)
2.Linux命令的格式:
命令字 【选项】 【参数】
3.tab、clear、ctrl+U(清空至首行)、Ctrl+k(清空至行尾)、Ctrl+L(清屏)、Ctrl+C(取 消本次命令编辑),\(强制换行)
4.帮助命令 help man –help
第7讲:目录操作命令
1.目录操作命令
pwd cd ls mkdir du
2.创建目录命令
mkdir创建新的目录
mkdir[-p]//-p用于创建多级目录 mkdir -p test4/subtest/subsubtest
3.du用于统计目录及文件的空间占用情况
格式:du [选项]… [目录或文件名]
-a:统计时包括所有的文件,而不仅仅只统计目录
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用的空间的总的大小

第8讲:文件操作命令
1.which、find
which查找命令或文件,但其只是在制定范围之内查找(该范围由PATH环境变量 指定)
find查找文件或目录,根据用户指定的范围来进行查找
格式:find [查找范围] [查找条件]
常用选项: -name -type -user
find /home -name file2//在home下查找名字为file2 的文件
2.ln链接//看视频,第8讲:文件操作命令
2.1符号链接(软链接)

命令ln -s /home/file2 test2是在test2 目录下写的,而test2目录下没有名为 test2 的文件,所以就把file2复制到test2下,并起别名为test2

1.软链接可以给文件或目录创建链接,类似于Windows的快捷方式
2.使用格式:ln -s 源文件或源目录 目标(起别名)
注意:源文件或源目录一定要使用绝对路径(如果不适用绝对路径ln -s file1 test1 则复制到test1下的file1在winscp中打不开,有红 色标记)
ln -s /home/tesst1 test2/subtest1
3.软链接下,一旦把源文件或源目录删掉之后,目标文件或目录(快捷方式) 将不可使用(删除目标文件或目录则对源文件没有影响)
2.2硬链接
可以不适用绝对路径
1.硬链接格式:ln 源文件 目标(起别名)
2.硬链接只可给文件创建,不可目录创建
3.硬链接类似于复制
4.硬链接删除源文件之后对目标文件无任何影响(但修改源文件或目标文件时, 目标文件或源文件也会改变)

第9讲:文件操作命令
1.Touch
创建空文件或更新文件时间标记(mkdir是创建文件夹)
touch 文件1 文件2
2.file 查看文件类型
3.cp 复制文件或目录(在Linux系统中,cp = “cp -i”)
格式:cp 【选项】… 源文件或目录… 目标文件或目录
-r :递归复制整个目录树
-p: 保持原文件的属性不变
-f:强制覆盖目标同名文件或目录
-i:需要覆盖文件或目录时进行提醒
redhat下cp = ‘cp -i’
4.rm删除文件或目录
-f:强行删除文件或目录,不进行提醒
-i:删除文件或目录时提醒用户确认
-r:递归删除整个目录树
5.mv移动文件或目录(如果目标位置与源位置相同,则相当于改名)
格式:mv 【选项】… 源文件或目录… 目标文件或目录
以最后一个为目标,其他都为源
mv test1 file1 test 将test1 file1移到test下
第10讲:文件内容操作命令
1.cat查看文件内容
cat file
2.more & less查看文件
more空格翻页,enter下一行,q退出
less q 退出并清屏
3.grep 查找文件内容
gerp 查找内容 文件
ex: gero rm file2
-i 忽略大小写
-v 反转查找
“^…”以什么什么开头
“…”以什么什么结尾  
   “^
”空行
grep “^12” file2|grep “d$” //在开头是12的基础下查找以d结尾的
第11讲:压缩命令与Vim编辑器
1.文件压缩命令
tar 选项(jcf jxf)
格式:压缩:tar jcf *.tar.bz2 源文件
解压:tar jxf *.tar.bz2 -C 解压的目标目录
2.Vim编辑器
i进入编辑模式
esc退出到末行
:wq保存并退出
:q!不保存并退出

第12讲:用户账户管理
1.区分用户的权限:
超级管理员root,普通用户,程序用户
2.理解Linux上组与用户的关系
3.存放用户信息的文件:/etc/passwd
存放用户密码的文件:/etc/shadow
4.useradd,userdel,usermod,passwd
U
userdel -r bob 连宿主目录一块删
若用:userdel bob 不加r则只能删除用户,而在创建用户时创建的目录无法删除
usermod:-l更改用户账号的登录名称
-L锁定用户账户
-U解锁用户账户
注意:
1.通过useradd创建用户时,默认普通用户家目录在home下
2.通过useradd -d创建用户时,指定的家目录,只能指定到home一级之下

第13讲:组帐号管理
1.添加组账号groupadd
像组内添加成员 gpasswd(-a -d -M)
2.删除组groupdel
3.理解usermod、useradd与选项-g(基本组) -G(附加组)的结合使用
注意:当一个组是某些用户的基本组时,需要把用户移走或删除,方可删除该 组
当一个组是某些用户的附加组时,(即改组不是某些用户的基本组)可以 直接删除该组

用户ID与组ID没有关系,都是默认的

一个组作为其他用户的基本组,则这个用户不可删,必须要把改组下的用户删了,才可删
一个组作为其他用户的附加组,则可删

第14讲:文件目录的归属于权限(1)
访问权限
读取:允许查看文件内容,显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或字幕了
可执行:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组帐号

1.chmod
用于修改文件(或目录)的权限
修改权限的方式有:chmod(ugoa)(+-=)(rwx)
chmod mmm file(或dir)
-R:递归修改指定目录下的所有文件、子目录的权限
2.chown
用于修改文件(或目录)的归属
格式:chown 所有者:所有组 文件或目录
案例:chown :root file 解释:讲file文件的所属组,改为root
如果需要递归修改目录的所有权限,通过-R去修改

第15讲:文件目录的归属于权限(2)
1.set位权限
用途:为可执行(有x权限的)文件设置,权限字符为“s”
其他用户执行该文件时,将拥有属主或属组用户的权限
Set位权限的类型
SUID:表示对属主用户增加set位权限
SGID:表示对属组内的用户增加set位权限
作用:让其他用户临时拥有所有者或所属组的权限
例如:passwd命令,root用户可以给所有用户重置密码,而普通用户只能通 过passwd给自己重置密码

chmod u+s /user/bin/passwd 给普通用户加s权限(普通用户临时拥有了该文件的所有者的权限)
chmod ug+s /user/bin/passwd 给组加s权限(普通用户临时拥有了该文件所有组的权限)

2.粘滞位权限
用途:为公共目录(例如:权限为777的)设置,权限字符为“t”
用户不能删除该目录中其他用户的文件
所有用户都可以在该目录下创建文件、目录
其他用户可以查看其他用户创建的文件或目录,但不可以互相编写或删除
设置set位、粘滞位权限
set位:chmod ug+s
Chmod 4(2、6)nnn
粘滞位权限:chmod o+/-t
Chmod 1nnn
chmod mnnn 可执行文件。。。。(m为4时对应SUID,2时对应SGID,1时对应粘滞位, 可叠加)

变成1777后(加上粘滞位权限),bob和tmp才可使用UserTmp目录
ftp就是粘滞位的应用
第16讲:Linux系统的启动流程
1.理解Linux 的启动过程
开机自检(BIOS)->MBR引导->GRUB菜单->启动内核->INIT进程(读取/etc/inittab)
2.inittab文件的作用
3.Runleve的级别,3(字符界面,默认),5(开机界面)
可通过修改/etc/inittab来设置开机的级别

可以此种方式将其转换为字符界面

也可以直接敲init3转换为字符界面

第17讲:运行级别控制
1. chkconfig –list 服务吗
2. chkconfig –leve nnn 服务名(on|off)

第18讲:Linux进程管理Ctrl+C
1. 理解进程与程序的区别
2. 查看静态进程信息
ps(aux|elf)
3. top
动态查看进程的排名
4. pgrep
作用:根据特定条件查询进程的pid
条件有:l(详细)、U(用户)、t(终端)
5. pstree
作用:树形结构显示各个进程之间的关系
-u -a -p
6.Ctrl +C与Ctrl +Z的区别
Ctrl +C中断进程;Ctrl+Z停止进程,并在后台挂起
Ctrl+Z与命令jobs fg的关系
6. 终止进程
Ctrl +c、kill、killall(-9)、pkill
区分:kill、killall是针对pid去查杀进程
Pkill是根据筛选条件查杀进程 –U -t

第19讲:计划任务管理
1.任务分为一次性任务(at)与周期性任务(crontab)
2.地洞atd与crond服务的命令
service atd(crond) start(stop|restart|status)
/etc/init.d/atd(crind) start(stop|restart|status)
3.at
编写一次性任务:at [hh:mm] [yyyy-mm-dd]
查询一次性任务:atq
删除一次性任务:atrm
4.Crontab
编写计划任务:crontab -e
查看计划任务:crontab -l
删除计划任务:crontab -r
备注:如果需要给特定的用户创建周期性任务需要【-u user】
默认不加-u是给自己创建周期性任务
Ex:root给leo用户创建一次性任务 root用户登录系统 crontab -e -u leo
5.crontab任务的配置格式:
分钟,小时,日期,月份,星期 +命令文件(或命令行)
分钟:0~59
小时:0~23
日期:1~31
月份:1~12
星期:0~7(0,7代表周日)
* 表示该范围内的任意时间
, 表示间隔的多个不连续的时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率

放在/etc/init.d/下的是服务
Service atd status 查看atd的状态
/etc/init.d/atd start 启动atd服务,推荐使用这个方法
/etc/init.d/atd stop
/etc/init.d/atd status

例题:
1.创建用户,用户名称为John(密码为:123456)
2.使用root用户登录系统,在home目录下创建文件(file)
3.将file文件的拥有着(所有者)改为John,且所有用户都拥有读,写,执行权限
4.在home目录下创建1目录,该目录为嵌套子目录(test/subtest)
修改该test目录的权限,使其及其下子目录的全部用户拥有的权限均为读写执行 的权限
修改该test目录的所有者,仅仅改变test目录的所有者为John,子目录不变

5.在home目录下创建一个公共目录tmp
5.1创建1用户为leo,使John与
5.2可以互相查看对方创建的文件,但不可以删除
5.3leo创建的文件授权John可以修改
Crontab -e给当前用户制定

第20讲:
1.通过crontab -e 省略-u
是给当前用户设计周期性任务,所有周期性任务都在一个以用户命名的文件中(/var/spool/cron/*
2.通过crontab -e -u 用户名 可以给其他用户设计周期性任务
3.用户权限的切换
su

50 7 * * * service sshd start
50 22 * * *
* * /5 * rm -rf /var/ftp/pub
30 7 * * 6 service htttpd restart
30 17 * * * 1,3,5 tar jcf___
55 23 * * 0 bin/cp /etc/passwd /home/jerry/pwd.txt

第21讲:用户家目录的维护
问题描述:如果遇到登陆系统出现 -bash-3.2$情况,怎么解决
1.从/etc/skel将所有文件cp至相应用户的家目录下
2.修改cp过来的文件权限
第22讲:磁盘管理1
1.首先关闭电源(有的服务器不用)挂载硬盘
2.fdisk -l查看硬盘分区情况(可看到新的硬盘并未被分区)
3.Fdisk /dev/sdb(sdb根据你挂载硬盘的数量与类型变化)
m查看帮助命令
n添加新的分区
p打印分区表
w保存分区表并生效
d删除某个分区
4.文件系统格式化

sdb1已经变为ext3,已经格式化了,可用
mkfs -t ext3(ext4) /dev/sdb1
第23讲:磁盘管理(2)
1.案例:如果swap(虚拟内存)
1.1查看swap空间 free | grep -i swap
1.2mkswap /dev/sdb1(创建交换分区)
1.3swapon /dev/sdb1(启用新的交换分区)
1.4swapoff /dev/sdb1(停用新的交换分区)

第28讲:

history –c 清楚的只是当前用户使用的命令,之前的不会删

第32讲:shell脚本的高级管理(1)

练习:每个3天对数据库目录做一次完整的备份
要求:统计/home/mysql目录占用的空间大小,日期,并记录到临时文件/home/tmp.txt中

练习:
批量创建20个用户,小于10(stu01 stu02)的用户,大于10的用户(stu10,stu11)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值