linux学习(备份)
修改日期时间
在命令行输入:
Date:显示当前时间 Fri Aug 3 14:15:16 CST 2007
date –s:按字符串方式修改时间
可以只修改日期,不修改时间,输入: date -s 2007-08-03
只修改时间,输入:date -s 14:15:00
同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:
#date -s "2007-08-03 14:15:00"
1.1.1 Linux系统简介-UNIX发展历史和发行版本
父子关系,unix 60年代----windows 80年代----linux 90年代
unix发行版本——IBM,HP,SUN(solaris):可以在PC上使用,SUN已被orace收购
类Unix操作系统:苹果系统由Unix演变而来
unix——C语言(重写)——TCP/IP(发展) :网络操作系统
1.1.2 Linux系统简介-Linux发展历史和发行版本
91年芬兰大学生开发:企鹅LOGO(芬兰吉祥物) OR 南北极不属于任何国家,意为开源
内核:www.kernel.org/ 原班人马发布
其它的为开发版 (发行版)
分支:redhat和debian(区别:安装方式)
linux中的个人版:全功能版,测试用
1.2 Linux系统简介-开源软件简介
典型:php(大像),APACHE(自由羽毛),MYSQL
开源软件(源代码开放) 自由软件(freeware ,免费软件,不一定开源)
收费软件(Unix)
开源软件安全性好:足够多的眼睛就会让问题浮现
1.3 Linux系统简介-Linux应用领域
www.netcraft.com 操作系统统计:腾讯,淘宝,安卓
企业服务器和嵌入式应用
2.2 Linux系统安装-系统分区
windows:分区---格式化---分配盘符
linux : 分区---格式化---硬盘设备文件名(Sda---Sdd):第几块硬盘 ---挂载点:空目录(/ 根分区,/swap 虚拟内存 ,/boot 启动分区)
分区设备文件名(Sda1---sda8)
sda1--sda4(主分区)---sda5(第1个逻辑分区)
sda1:/boot——sda2:/swap(内存2倍,一般为2G)—— sda3:/home (文件分区)——sda4(扩展)——sda5:/(根分区)
我的建议学习:sda1:/swap sda2:/date 剩下的/
三种分区方案(红,蓝,绿)
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot ;1G
├─sda2 8:2 0 8G 0 part [SWAP] ;内存2倍
└─sda3 8:3 0 50G 0 part / ;其它
└─sda4 8:4 0 52G 0 part /home ;home
└─sda5 8:5 0 xxG 0 part /date ;其它挂载盘(可选)
2.4 Linux系统安装-远程登录管理工具
vmware 网络设置中:桥接(局域网其他的机器也能访问虚拟机,其它方式只能与本机通讯) 如果有2块网卡,要选择用哪块网卡来桥
其它方式是本机网卡没有入网的情况下使用
远程工具:SecureCRT中文字体乱码解决:1.选项中--仿真--终端--Linux
2.外观--当前颜色方案:traditional --字体--任意中文字体--字符集gb2312--字符编码utf8
文件传输工具:WinSCP
3.1 给初学者的建议-注意事项
1.严格区分大小写
2.所有内容都是文件
3.不靠扩展名区分文件
4.所有存储设备都必须手动挂载
5.win和linux程序不能互相使用
3.2 给初学者的建议-服务器管理和维护建议
目录结构
/bin 保存命令的目录
/boot 启动文件
/dev 设备文件
/etc 配置文件
/home 宿主目录,家目录
/lib 函数库
/lost+found 磁盘碎片
/mnt or /media+/misc 挂载点 加载光盘,U盘
/usr/local 外来软件安装点 类似win的program
/proc+/sys 内存运行临时目录 重起清空
/srv 服务目录
/usr 系统资源目录,类似windows目录
/var 日志目录
4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls
命令格式:
命令 选项 参数
ls -l /ec
ls 显示目录和文件(list)
ls -a ( -all )显示所有文件 (.开头的是隐藏文件)
ls -l (-long)长文件详细内容
ls -d 查看文件或目录本身的信息 定位查看 一般使用-ld
ls -i i节点,身份号
(通用参数-h 文件大小以K,M显示 可以配合-l选项)
du -sh 目录
查看目录大小
drwxr-xr-x
d 文件类型 d -(directory)目录 - -文件 l -(link)软链接
文件权限 r-red读 w-write写 x-execute可执行
3部分 rwx r-x r-x
3类用户 所有者u 所属组g 其它人o
user group others
4.1.2 Linux常用命令-文件处理命令-目录处理命令
mkdir (MD)创建目录 -p (递归创建)
cd 改变当前目录
pwd 查看当前目录
rmdir 删除空目录
touch 创建文件
cp 复制文件 -r 复制目录 -p 保持文件的属性 复制cp命令可以复制过程改名
mv 移动文件目录和改名 和cp的区别:作用目录时不需要用-r 可以移动过去改名也可以在当前位置改名
rm (remove)删除文件 -r 删除目录 加f 确认删除
清屏:clear=Ctrl+L
cat 查看短文件 -n 加行号 类似DOS下的TYPE
tac 查看后面几行
more 长文件查看 q退出 空格:翻页 回车:翻行
less 比more 多了向上翻 , page up:向上翻页 , 上箭头:向上翻行 ,/ 可查找 n:查找状态时下一个
head -n 查看文件的前几行
tail -n 查看文件的后几行 -f 动态显示后几页(监控日志)
4.1.4 Linux常用命令-文件处理命令-链接命令
ln(link)生成链接
-s 软链接:1.类似WIN快捷方式;2.有指向符;3.文件大小很小,所有用户都可以操作该文件
不加参数为硬链接:1.类似 cp -p (不同点:可以同步更新源文件内容;源文件删除,硬链接依然可以查看显示)
2.可以通过 ls -i 来看源文件和目标文件是不是存在硬链接关系(一个i节点对应该2个文件)
3.硬链接只能对文件生成,且不能跨目录
4.2.1 Linux常用命令-权限管理命令-权限管理命令chmod
chmod (改变文件权限)(root 和所有者才能使用)
1. {u,g,o,a}{+-=}{rwx}文件或者目录
2.数字表示权限: r--4 w--2 x--1
3.-R 递归修改,相当Win中的下级目录继承上级目录的权限
文件 目录
r 读取查看(cat相关) 查看目录(ls)
w 修改(vim) 创建删除(mkdir,touch,rm)
x 执行 进入目录 (cd)
目录权限RX通常同时出现
chown(ch won)改变文件目录所有者(root才能使用)
格式:chown 用户 文件名
chgrp 改变文件目录所属组
umask 改变查看目录默认创建权限
umask 结果 :0022 777-022=755 (rwx-r-x-r-x)
umask -S 直观查看默认创建权限
改变 umask 023 777-023=754 (这才是最后的创建权限)
umask 022 系统默认
4.3.1 Linux常用命令-文件搜索命令-文件搜索命令find
find(搜索) 范围 匹配条件
-name 按文件名 *(通配符) ?(通配符:单个字符)
-iname 不区分大小写
-size (+-=)大于小于等于N 等于不输入=
-user (group)按所有者和所属组
- amin 访问时间access (cd)
- cmin 改变文件属性 change
- mmin 修改文件内容modify
-type f 文件 d目录 l软链接
- inum I节点
连接参数:
-a (and)同时满足
-o (or)只满足一个条件
对查找出的内容再做一个操作: -exec 命令 {} \; ( 换成-ok: 确认操作)
locate 文件名 (全盘搜索) 相对应的升级locate的索引文件库/user/bin/updatedb
-i 不区分大小写
which 查找命令===whereis(多了帮助信息位置)
grep 要找的文件内容 文件 (在文件中查找内容)
-i 不区分大小写
-v ^# 查找所有内容,排除以#号开头的行
--color =auto 自动显示颜色
4.4 Linux常用命令-帮助命令
man (manual手册)查看命令和配置文件帮助
man [1,5] passwd 单词即是命令又是配置文件 (1.查看命令 5.查看配置文件)
man=info
help 内置命令
4.5 Linux常用命令-户管理命令
useradd 用户名(添加用户)
passwd 用户名(为用户设置密码)
who 查看当前登陆用户
tty 本地终端
pts 远程终端
w=who (w 更详细)
4.6 Linux常用命令-压缩解压命令
gzip 压缩 gunzip 解压缩 (缺点:只能压缩文件,不保留原文件)
tar 参数 生成的文件 要压缩的目录(对目录打包并压缩) tar.gz
参数
-z 压缩
-f 指定文件
-v显示压缩信息
-c打包 -x 解包
打包示例:tar -czvf
解包示例:tar -xzvf
zip -r(压缩目录)生成的文件 要压缩的目录
unzip 解压缩
bzip2(gzip的升级) -k (保留原文件或者压缩包)
tar -cjvf xxx.tar.bz2 要压缩的目录 (-j调用bzip2)
bunzip2 解压缩
tar -xjvf xxx.tar.bz2 解压缩tar.bz2
4.7 Linux常用命令-网络命令
write 用户名 (通信私聊)
ctrl+d 发送
wall 信息 (给所有在线用户发信息)
ping -c 3 (ping 3 次)
mail 用户名----------- 发邮件
Subject: messge for job
编辑标题后回车
Apple this job.
开始编辑内容,结束后按Ctrl+D退出内容编辑
mail---------查看邮件:序号查看,D+序号 删除指定邮件
last 登陆详细日志
lastlog 所有用户简单日志
lastlog -u 用户ID (指定用户)
traceroute 路由路径
netstat (查看网络信息)
-rn 查看路由信息
-an 查看所有信息
-tuln 只查看tcp/udp 信息 l:监听 t:TCP信息 u:UDP信息 n:显示IP地址和端口号
-p 显示进程
setup 网络配置
service network resart 网络服务重启(设置生效)
设备挂载
mount 显示挂载清单
ls -l /dev/cdrom 查看当前光驱文件名
mkdir /mnt/cdrom 先创建挂载点
mount 设备文件名 挂载点 (mount /dev/cdrom /mnt/cdrom)
umount 卸载 挂载点(必须退出当前设置挂载点)
4.8 Linux常用命令-关机重启命令
shotdown (关机重启命令)
-h [时间,now]关机
-r [时间,now]重启
-c 取消命令
reboot 重启
init [0-6] 切换运行模式
cat /etc/inittab 查看缺省启动模式
查看当前运行级别:runlevel
logout 退出用户
5.1 文本编辑器Vim-Vim常用操作
vim 文件名
默认命令模式---》: 转到编辑模式---》---i转到插入模式---》esc 返回命令模式---》wq 保存退出(q!不保存退出)
命令模式下输入 : set nu (加行号)
: set nonu (去除行号)
:n (移动到指定行)
gg :首行
G :尾行
0 :行首
$ :行尾
删除命令:
x : 删除单个字符
nx:连续删除N个字符
dd:删除光标所在行
ndd:删除N行
D:删除光标所在字符至行尾
:n1,n2d 删除指定行
复制剪切命令:
yy:复制
nyy:多行复制
p:粘贴到行下
P:粘贴到行上
剪切:dd+p
编辑状态改变:
r 替换一个字符
R 替换模式
u 撤销
搜索替换命令:
/要搜索的字符串
n :下一个
/set ic 不区分大小写 /set noic 取消不区分大小写
:%s/源/目的/g 不提示全文替换(可以不加/g)
:n,ns/源/目的/c 提示替换某行到某行
保存退出:
:w (保存)
:w /文件名 (另存为)
:r 文件名 (导入文件内容)
:! 命令 (临时切换出vim使用命令)
上面2个命令一起使用 :r !date (导入当前时间)
快捷键定义:
:map (ctrl+v+ctrl+快捷字母) 要定义的操作
连续注释:
:n1,n2s/^/#/g (注释)
:n1,n2s/^#//g (去注释)
\ 转义符 比如 \/ 代表的是字符/
:ab mymail 225857@qq.com (定义快捷AB)
vim自定义配置文件路径: /root/.vimrc /home/zouzou/.vimrc
6.1 软件包管理-简介
软件包分类:
1.源码包 (C语言脚本)
分支:脚本安装包(类似windows的安装界面)
源码包优点:
(1)开源,可修改源代码;
(2)可自由选择安装功能;
(3)编译安装,执行效率更高;
(4)卸载方便
源码包缺点:安装步骤多,安装时间长,安装出错解决复杂;
2.二进制包(0101机器语言包)
类似windows 是 exe包,linux redhat系统 的是RPM包(系统默认包)
RPM包优点:安装简单,安装速度快
RPM包缺点:看不到源码,安装选项少,依赖性(A包--B包--C包)
6.2.1 软件包管理-rpm命令管理-包命名与依赖性
1.包全名和包名
包全名:没有安装的软件包,注意路径(放在系统能识别的文件夹里,比如package),一般是软件安装升级
包名:操作已经安装好的软件包时,使用包名,这些包放在/var/lib/rpm 下 ,一般是软件的卸载,一般不带后缀rpm
2.rpm安装
rpm -ivh 包全名
-i 安装 -v 显示详细信息 -h 显示进度
3.rpm升级
rpm -Uvh 包全名
-U 升级(upgrade)
4.rpm卸载
rpm -e 包名
-e 卸载(erase)
--nodeps 强制删除
6.2.3 软件包管理-rpm命令管理-查询
rpm -q 包名
-q (query查询)
-a (all查询所有已安装过的包) 扩展 rpm -qa | grep 包名 查询指定已安装包
-i (information已安装包的详细信息)
-c 配置文件位置
rpm -qip 包全名
-p (package查询未安装包的信息)
rpm -ql 包名(查询包安装位置)
-l (list列表)
-p 未安装包装备安装的位置
查询系统文件名是属于哪个安装包:
rpm -qf 系统文件名
-f (文件file)
查询包依赖性
rpm -qR 包名 (已安装包)
-R (依赖性requires)
6.2.4 软件包管理-rpm命令管理-校验和文件提取
1.RPM包校验
rpm -V 包名
-V (依赖verify)
校验不通过含意
2.RPM包中文件提取
rpm2cpio 将rpm包转换为cpio格式
rpm -qf /bin/ls 查询属于哪个包
mv /bin/ls /test/ 制造假像
rpm2cpio /mnt/cd/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls 进行修复
如不行还可以 cp /root/bin/ls /bin/
6.3.1 软件包管理-RPM包管理-yum在线管理-IP地址配置和网络yum源
网络配置文件中默认网卡是不启动的:
vim /etc/sysconfig/network-scripts/ifcfg-etho0 中 ONBOOT=yes
yum源配置文件:
6.3.2 RPM包管理-yum在线管理-yum命令
查询:
yum list 查询可用安装包
yum search 包的名称
安装:
yum -y install 包名
-y 自动回答YES
升级:
yum -y update 包名
卸载:
yum -y remove 包名
软件组查询:
yum grouplist | more
|more 显示的太多可以用more暂停便于观察
软件组安装:
yum groupinstall “查询到的软件组”
软件组卸载:
yum groupremove
6.3.3 RPM包管理-yum在线管理-光盘yum源
yum 文件路径 /etc/yum.repos.d/
步骤:
挂载光盘
1.让网络yum源失效,配置文件改成.bak
2.改光盘yum配置文件
baseurl
enable=1
6.4.1 软件包管理-源码包管理-源码包与RPM包的区别
源码包安装位置人为指定
源码包建议安装位置:/usr/local/软件名 软件启动必须用绝对路径
httpd 服务默认位置 /etc/rc.d/init.d/httpd
绝对位置启动服务 /etc/rc.d/init.d/httpd start(服务启动方式 service httpd start)
httpd 默认网站根目录 /var/www/html
6.4.2 软件包管理-源码包管理-源码包安装过程
准备工作:
源码下载上传解压
确认gcc 安装是否成功 rpm -q gcc
源代码位置:/usr/local/src
软件安装位置:/usr/local
1.进入到源码解压位置 (查看安装说明vim INSTALL)
2.配置文件 ./configure --prefix=/usr/local/apache2
3.make (如果报错,清除make clear)
4.make install
5.启动服务 /usr/local/apache2/bin/apachectl start
6.5 软件包管理-脚本安装包
类似windows安装方式(主要是源码包,驱动程序安装)
webmin(apache图形管理工具 ):
http://sourceforge.net/projects/webadmin/files/webmin/
安装命令 ./setup.sh
7.2 用户和用户组管理-用户管理相关文件
用户信息配置文件/etc/passwd
1.用户名称
2.密码标志
3.UID用户ID(改UID变超级用户) 1-499 伪用户 500-65535 普通用户
4.初始组(初始组+附加组)
5.用户说明(备注)
6.家目录
7.用户的shell:命令解释器 (/bin/bash默认 /sbin/nologin禁用用户)
7.1.2 用户和用户组管理-用户配置文件-影子文件
影子文件/etc/shadow
1.用户名称
2.密码位 (* 和!禁用密码)
3.最后一次修改密码时间 :1970是起始时间,后面+天
4.限定2次密码修改间隔
5.密码有效时间
6.密码到期警告时间
7.密码到期宽限时间
8.帐号失效时间 :比67权优先
9.保留
把时间戳换成日期
date -d "1970-01-01 16066 days"
把日期换成时间戳
公式
7.1.3 用户和用户组管理-用户配置文件-组信息文件
/etc/group
1.组名
2.组密码位
3.GID
4.组中附加用户
/etc/gshadow
1.组名
2.组密码
3.组管理员用户
4.组中附加用户
7.2 用户和用户组管理-用户管理相关文件
家目录
普通用户:/home/user 提示符$ 改用户uid 为0 但家目录不会变
超级用户:/root 提示符#
用户邮箱
/var/spool/mail/用户名
用户模板目录
/etc/skel
7.3.1 用户和用户组管理-用户管理命令-useradd
useradd
参数
-u UID
-d 指定家目录位置
-c 指定用户说明,如有空格请加双引号
-g 指定初始组
-G 指定附加组,多组用,分隔
-s 指定用户登陆shell 默认:/bin/bash
useradd 默认值
7.3.3 用户和用户组管理-用户管理命令-usermod和chage
usermod(和useradd参数同)
-L 锁定用户
-U 解锁用户
chage 用户 (修改用户密码状态)
chage -l 用户 :查看用户密码信息
-d 0 密码最后一次修改时间(被加0后说明用户没有修改过密码,实现的功能是用户一登陆就让其修改密码)
7.3.4 用户和用户组管理-用户管理命令-userdel和su
userdel -r 用户 删除用户并删除用户的家目录
id 用户 查看用户ID信息
su - 用户名(切换用户)
su - root -c "useradd user1" (临时切换到root 执行只有超级用户才能执行的命令)
7.4 用户和用户组管理-用户组管理命令
groupadd 用户组
groupmod -n 新组 老组 (修改组名)
gpasswd -a ( -d ) zouzou root 从root组加入(删除)zouzou用户
8.1.1 权限管理-ACL权限-简介与开启
df -h 查看分区信息 df -hal 可以查看更多
dumpe2fs -h /dev/sda1 查看分区是否支持ACL
手动挂载支持ACL,vim /etc/fstab (defaults,acl) ,然后重启系统 或者手动重新挂载根分区,mount -o remount /
8.1.2 权限管理-ACL权限-查看与设定
设定ACL权限:
setfacl -m u:st:rx /project 设置st用户对project有rx的权限
查看ACL权限:
getfacl 文件或目录
8.1.3 权限管理-ACL权限-最大有效权限与删除
最大有效权限:通过修改mask值后期控制group组(所属组+附加组)和mask值相与得到另外的权限
setfacl -m m:rx 文件或目录
删除acl 权限:
setfacl -b 文件或目录 (删除全部ACL权限)
setfacl -x u[g]:用户或组 文件或目录 (有选择的删除权限)
8.1.4 权限管理-ACL权限-默认与递归ACL权限
递归: -R 对目录有效 (对现有文件执行递归权限,对新建文件或目录无效)
默认递归继承: d: -R (对之前文件或目录无效 ,如果想对以前新建的文件要设置权限还需执行上面的权限)
8.2.1 权限管理-文件特殊权限-SetUID
功能理解:
1.可执行程序才能设置SUID权限(只对文件)
2.命令执行者(普通用户)对该程序有X权限
3.普通用户在执行拥有SUID的程序的时候,暂时(执行完变成普通用户)变成所有者用户的权限
4.(不确定)所有者U也应该对该文件有X权限
x(超级执行)
例: passwd(rwsr-xr-x) --------》可以对/etc/shadow修改
cat(rwxr-xr-x) --------》不能对/etc/shadow查看
设置SETUID权限 取消SETUID权限
chmod 4755 文件名 chmod 755 文件名
chmod u+s 文件名 chmod u-s 文件名
4755---setuid
2755---setgid
1755---sticky bit
8.2.2 权限管理-文件特殊权限-SetGID
SETGID权限对文件的处理和SetUid权限相似,----》变成当前文件所属组的权限
(普通用户获得所属组r权限)
例:locate(rwx--s--x)-----》/var/lib/mlocate/mlocate.mdb (rw-r-----)
chomod g+s (或者chmod 2755)
可以针对目录(用的少)
8.2.3 权限管理-文件特殊权限-Sticky BIT
翻议:黏着位(简称sbit)
作用:只能针对目录,对目录设置t权限后,虽然普通用户有777权限,但只有所有者才能删除该目录下的文件。
chmod o+t (或者chmod 1777)
8.3 权限管理-chattr权限
文件隐藏属性
chattr +i 文件 (+I属性 连ROOT用户都不能修改,删除,改名;锁住文件)
目录 (+I属性,/test/abc.txt 只能查看修改abc.txt 不能删除原有文件,不能新建文件)
主要作用:保护文件,防止误操作
chattr +a 文件 (比I属性多了个追加)
目录 (比I属性多了追加文件和修改文件)
取消属性-i 和-a
lsattr -a -d 查看所有文件隐藏属性,以-d方式
8.4 权限管理-sudo权限
sudo作用:root用户分配命令给普通用户(切记不要授权vim使用权限)
vi sudo 命令 (修改的是/etc/sudoers文件)
st ALL=/usr/sbin/useradd
%(组)
要授权的用户 被管理计算机的IP(目的IP)=命令绝对路径
sudo -l 普通用户查看当前用户可以执行哪些sudo命令
sudo 命令绝对路径(执行方法)
9.1 文件系统管理-回顾分区和文件系统
9.2.1 文件系统管理-文件系统常用命令-df、du、fsck、dumpe2fs
df -h 文件系统查看 (统计文件+系统资源)
du -sh 统计目录大小 -s:只统计主目录,不统计子目录(只统计文件占用)
fsck 设备文件名 :修复文件系统(类似chkdsk) (有可能修复系统,尽量不要修系统上当)
-a 或 -y 都是自动修复
dumpe2fs 设备文件名 ( 显示磁盘状态 )
9.2.2 文件系统管理-文件系统常用命令-挂载命令
mount 查看设备的挂载点
mount -a 自动挂载 (按照挂载文件/etc/fstab 自动载一下)
手动挂载:mount [-t 文件系统] [-L 卷标名] [-o特殊选项] 设备文件名 挂载点
-t : ext3 ext4 iso9660 (光盘)
9.2.3 文件系统管理-文件系统常用命令-挂载光盘与U盘
U盘挂载:
fdisk -l 查看U盘分的设备文件名
monut -t vfat(fat32文件,如果是fat16这里用fat) 设备文件名 挂载点
卸载 umount 设备文件名或者挂载点
9.2.4 文件系统管理-文件系统常用命令-支持NTFS文件系统
工具下载地址:http://www.tuxera.com/community/ntfs-3g-download/
ntfs-3g_ntfsprogs-2014.2.15.tgz
1、安装编译器,否则不能成功编译。
yum install gcc
根据提示按Y安装完成
2、安装过程: ./configure--》make--》make install
挂载NTFS的U盘:必须在虚拟机中挂
mount -t ntfs-3g /dev/sdb1 /mnt/usb
9.3.1 文件系统管理-fdisk分区-分区过程
fdisk sdb (硬盘)完整路径 /dev/sda
m帮助 l查看分区类型 n新建 p显示分区列表 d删除分区 w保存 q退出
分完区一般要启机器,可以不启,用重新读取分区信息partprobe
格式化命令: mkfs -t ext4 分区名---》挂载
fdisk:看分区 mount和df看挂载
9.3.2 文件系统管理-fdisk分区-自动挂载与fstab文件修复
查看分区UUID:dumpe2fs 分区名
1.挂载文件/etc/fstab
配置文件格式 :/dev/sdb1 /disk1 ext4 defaults 1 2
检测是否挂载成功: mount -a (用/etc/fstab下的配置挂载测试)
2.修复/etc/fstab
配置文件写错了。重启时
密码root进到系统后,根下的配置文件为不可写,解决:mount -o remount,rw / (作用:重新挂根目录为可写)
9.4 文件系统管理-分配swap分区
缓存cached:加速读
缓冲buffers: 加速写
查看swap分区 free -m 按m显示
分swap分区思路:fdisk ---》n建逻辑分区 ---》t改ID为82---》w保存退出---》如果退出分区在使用可以用partprobe重新载入分区---》格式化mkswap /dev/sdb6---》加入swapon(off) /dev/sdb6 这个是手动, 要开机自动加载swap请改启动配置
10.1 Shell基础-概述
1.概念
硬件---》内核---》shell命令解释器---》应该程序 (此流程可逆)
shell是解释执行的编程语言,现编现执行,还可以直接调用linux命令
2.分类
A.早期的sh 主流bash兼容早期的sh
B.C家庭的csh和tcsh
3.系统中默认可用sh
查看/etc/shells
shell切换 默认bash ---sh---csh (exit退出当前shell)
10.2 Shell基础-脚本执行方式
1.输出命令
echo
-e 支持右斜杠字符转换(转义)
例:echo "ab\bc" 输出ac
2.hello word
#!/bin/bash
#注释 上面的是shell编程的开始符
echo "hello word"
shell执行方法一(主要):1.先赋执行权限,chmod 755
2. shell的绝对路径和相对路径(./)来执行
方法二:bash 脚本 (不需要赋权限)
dos2unix Dos转成linux (格式转换) 这条命令需yum安装
cat -A 显示所有字符,包括换行符
10.3.1 Shell基础-Bash基本功能-历史命令与补全
1.历史命令 history
-c 清空所有
-w 保存历史命令 /用户家目录/.bash_history
历史命令保存条数:/etc/profile 下 HISTSIZE=10000
10.3.2 Shell基础-Bash基本功能-别名与快捷键
别名: alias 别名=‘原命令’
让别名永久生效:vim /root/.bashrc
删除别名: unalias 别名
命令执行顺序:命令绝对(相对)路径---》别名---》bash内部命令---》环境变量定义的路径
10.3.3 Shell基础-Bash基本功能-输入输出重定向
1.标准输入输出
键盘 0 标准输入
显示器 1 标准输出
显示器 2 标准错误输出
2.输出重定向
标准输出重定向:>覆盖 >>追加
标准错误输出重定向:2>覆盖 2>>追加
正确错误输出都保存:命令 &>> 文件
输出结果丢垃圾箱:命令 &>>/dev/null
正确错误分别保存:命令 >> 文件1 2>>文件2
wc < /etc/fstab 统计文件的行数,字数
10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
1.多命令执行
; 各命令互相独立, date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date (生成100M文件需要多少时间)
&& 逻辑与 ls && echo yes 第一条命令正确执行了,才执行第二条命令
|| 逻辑或 lssss && echo no 第一条命令不正确执行,才执行第二条命令
ls && echo yes || echo no 判断命令是否正确执行
2.管道符
ls /etc/ -a | more
命令1的正确输出作为命令2的操作对象
netstat -an | grep "ESTABLISHED" 查看哪些用户是连接状态
10.3.5 Shell基础-Bash基本功能-通配符和其他特殊符号
[^0-9] 非数字的任意一个字符
特殊符号
10.4.1 Shell基础-Bash变量-用户自定义变量
变量不能以数字开头
变量值默认是字符串
环境变量建议大写(区分小写命令)
变量分类: 用户自定义变量------》环境变量------》预定义议量-------》位置参数变量
2端都可以定义 (只能改值,可追加变量) ( 只能改值)
变量叠加: aa="$aa"123 或 aa=${aa}123
查看变量set
删除变量 unset 变量名 (前面没有$)
10.4.2 Shell基础-Bash变量-环境变量
自定义变量(局部变量)只在当前shell中生效,而环境变量在所有变量中生效。
父变量 子变量
bash bash
原变量是bash, 再按bash变子变量,exit又变成bash 可以通过pstree查看父子关系
定义环境变量 : export 变量名=变量值
查询环境变量:env
调用、删除环境变量方法和自定义变量同
系统查找路径: echo $PATH
在$PATH叠加/test 方法: PATH="$PATH":/test
PS1 提示符
10.4.3 Shell基础-Bash变量-位置参数变量
$n 起到传递数据到$n的作用 命令本身后面跟2个位置达到传递的作用
11 22 33 44 55
$# -----5
$* -----原数 当一个整体
$@-----原数 把每个参数区分对待
10.4.4 Shell基础-Bash变量-预定义变量
$? 返回上个命令执行正确或错误的结果 0 为正确 其它为不正确
接收键盘输入到变量
read 参数 变量
-p 提示信息
-t 等待几秒
-n 输入字符个数
-s 隐藏输入
10.5.1 Shell基础-Bash变量-数值运算与运算符
声明变量declare -+ 选项 变量
- 设定属性
+ 删除属性
-p 查看变量
-x 设定为环境变量 (功能类似export)
-i 设定为整数型变量(integer)
数值运算方式1. declare -i cc=$aa+$bb 运行命令
数值运算方式2. dd=$(expr $aa + $bb) 调用工具
数值运算方式3. ff=$((运算)) 或ff=$[运算] 括符
10.5.2 Shell基础-Bash变量-变量测试与内容替换
第一个
unset y
x=${y-new}
echo $x -----》new
通过测试x的真,判断y: 不存在,空,值
10.6.1 Shell基础-环境变量配置文件-简介
让配置文件直接生效命令:source 配置文件 或 . 配置文件
linux学习(备份)相关推荐
- Linux学习笔记(七):文件压缩、打包与备份
Linux学习笔记(七):文件压缩.打包与备份 常见的压缩指令 gzip, zcat/zmore/zless/zgrep bzip2, bzcat/bzmore/bzless/bzgrep xz, x ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- sqlserver在linux数据备份,SQLServer数据库之sqlserver for linux自动备份数据库脚本
本文主要向大家介绍了SQLServer数据库之sqlserver for linux自动备份数据库脚本,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 不多说直接上脚本 # ...
- (零)我为什么要写Linux学习笔记?
我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...
- Linux学习之命令【1】
Linux学习之命令[1] 一·命令总览 1.基本简单命令 1.0 pwd 1.1 echo 1.2 date 1.3 cal 1. ...
- 20155303狄惟佳预备作业三Linux学习笔记
20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...
- linux目录表及功能n鸟哥,鸟哥linux学习之-资料与目录管理
鸟哥linux学习之--文件与目录管理 目录与路径 相对路径:由当前目录算起 绝对路径:由根目录算起,linux的根目录为"/" 几个目录符号: . 表示当前目录 .. 表示上一层 ...
- Linux学习之CentOS(二十九)--Linux网卡高级命令、IP别名及多网卡绑定
本篇随笔将详细讲解Linux系统的网卡高级命令.IP别名以及Linux下多网卡绑定的知识 一.网卡高级命令 在之前的一篇随笔里Linux学习之CentOS(九)--Linux系统的网络环境配置,详细讲 ...
- 虚拟机上的Linux学习
title: 虚拟机上的Linux学习 date: 2018-08-08 15:48:28 updated: tags: [Linux,学习笔记] description: keywords: com ...
- 生信宝典Linux学习系列文章整理
欢迎关注天下博客:http://blog.genesino.com/2017/10/sxbd-linux-summary/ 生信宝典推出的Linux从入门到常用命令.软件安装方法.数据处理方法都在这了 ...
最新文章
- [AngularJS学习笔记] 基础学习01
- 机器学习系列|从白富美相亲看特征预处理与选择
- 中国人民公安大学网络对抗技术作业一
- 转 让NET C# 程序独立运行(脱离 .NET Framework运行,绿色运行) 未验证
- 深度学习 Caffe 初始化流程理解(数据流建立)
- 【英语学习】【WOTD】scavenger 释义/词源/示例
- 数组在内存中存储方式
- css里calculate,css3 calc会计算的属性
- python requests session post_requests.session()发送请求 和使用requests直接发送请求的区别...
- Bailian2931 期末考试第二题——比较数字个数【文本】
- file_operation(文件操作)file(文件)inode(节点)
- html怎么存储历史记录,设置网页在历史记录中保存10天
- asp.net core abp 视频教程1
- [BJWC2008]王之财宝
- java 二维码原理以及用java实现的二维码的生成、解码
- 常见网络摄像机的端口及RTSP地址
- 雷电模拟器重置开机密码
- 循环进行Bitmap转BitmapSource导致内存溢出时可使用使用DeleteObject来释放资源
- 实验四 进程同步与通信(一)进程同步与互斥1
- 零起点英语_零起点英语口语