十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这些都是shell编程里面的东西!
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站制作、网站设计、外贸网站建设服务,我们努力开拓更好的视野,通过不懈的努力,创新互联建站赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,微信小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
var其实就是一个新的变量.expr其实就是expression的意识.可以理解为他的一种特定表达式!str你可以看着是string.这里说的只是顾名思义.但是实际还是有一些区别的!
在某些时刻我们需要‘判断’某个变量是否存在,若变量存在则将此变量值赋值给新的变量,若变量不存在则将其他值赋值给新的变量.
这里不能有表格:(你大概将就一下)
变量设定方式 str 未定义 str 为空字串 str 已赋值为非空字串
var=${str-expr} var=expr var= var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var= var=expr var=expr
var=${str:+expr} var= var= var=expr
var=${str?expr} expr 输出至 stderr var= var=$str
var=${str:?expr} expr 输出至 stderr expr 输出至 stderr var=$str
var=${str=expr} var=expr var= var=$str
var=${str:=expr} var=expr var=expr var=$str
举例如下:
[root@linux ~]# test_name=""
[root@linux ~]# test_name=${test_name-root}
[root@linux ~]# echo $test_name
== 因为 test_name 被设定为空字符窜!所以当然还是保留为空字符窜!
[root@linux ~]# test_name=${test_name:-root}
[root@linux ~]# echo $test_name
root == 加上‘:’后若变量内容为空或者是未设定,都能够以后面的内容替换!
以上的很多命令!我就不赘述了!你有兴趣去看看linux的shell编程!好多东西.书都是很厚的!我也学了一点点皮毛!但是linuxshell真的很不错!
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
cat主要有三大功能:
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
范例:
cat -n linuxfile1 linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -b linuxfile1 linuxfile2 linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。
范例:
把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -n linuxfile1 linuxfile2
把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。
cat -b linuxfile1 linuxfile2 linuxfile3
cat /dev/null /etc/test.txt 此为清空/etc/test.txt档案内容
在linux shell脚本中我们经常见到类似于cat EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?
EOF是“end of file”,表示文本结束符。
[root@localhost ~]#
用户 @ 主机名 当前目录
总结Linux命令输入规律:
如何输入命令:
命令 [选项]([参数])[选项的值]([参数的值])空格分割
常见选项(参数):-h --help ; 特点:选项前有一个 -字母 或 --加单词
例:find /home -name mk
命令后:左边是源 右边是目标
例:cp a.txt a.txt.bak
作用:查看目录下的文档
语法:ls 目录
-l 显示详细信息
-a 显示隐藏文件
. 当时目录
.. 上级目录
-d 查看目录
-h 增强可读性
作用:查看当前所在的路径
语法:pwd
例:[root@iZ9403omxhxZ html]# pwd
/var/www/html
作用:切换目录
语法:cd 目录名
cd 回到用户的家目录
cd ~ 回到-用户的家目录
cd - 回到上级切换时目录
切换到/etc下
[root@localhost html]# cd /etc/
切换到/etc/sysconfig/
[root@localhost sysconfig]# cd /etc/sysconfig/
-h --help
man find
shutdow、init 、reboot
作用:关机,重启,定时关机
-r #重启
-h #关机
-h +2 # 2分钟后关机
-c
shutdown -h 22:00
作用:切换系统级别
语法:init 0~6
init 0命令用于立即将系统运行级别切换为0,即关机;
init 6命令用于将系统运行级别切换为6,即重新启动。
0是关机
1是单用户
2是多用户,不联网
3是多用户
4是不使用的
5是xwindows,也就是有界面的
6是重启
自己去查下reboot怎么使用吧,这里就不过多介绍了reboot --help
[root@localhost~]# runlevel
N 3
语法:
ln(选项)(参数)
它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
在此我们只介绍下软链接。
我们为js文件夹建一个软链接
我们为/var/www/html/forestry/js/ 在/root/目录下建立一个名叫js2的软链接。
图中我们可以看到js2的连接目录是/var/www/html/forestry/js/
1、当前登录用户信息
who:
用户名、终端类型、登陆日期以及远程主机地址。
who /var/log/wtmp
可以查看自从wtmp文件创建以来的每一次登陆情况
-H:打印每列的标题
users命令: 打印当前登录的用户,从上面可以看到我自己从不同主机同时登录,所以下面显示2次。
2、查看命令历史
每个用户的命令历史记录保存在 ~/.bash_history 文件里,
或者在终端输入: history
要想再执行哪条,使用 !96 重新执行该条命令。
3、last命令查看用户登录历史
此命令会读取 /var/log/wtmp文件;/var/log/btmp可以显示远程登陆信息。
last默认打印所有用户的登陆信息。
如果想打印某个用户的登陆信息,可以使用
last 用户名
一些选项:
(1)-x:显示系统开关机以及执行等级信息
(2)-a:将登陆ip显示在最后一行
(3)-d:将IP地址转换为主机名
(4)-t:查看指定时间的用户登录历史
例如: 查看axing在
axing@ax:~$ last axing -a -t 20190201160000
4、lastlog命令查看所有用户最近一次登录历史
读取/var/log/lastlog文件;用户排列顺序按照/etc/passwd中的顺序
一些选项:
(1) -u:查看某用户的最后一次登录记录
比如: lastlog -u axing
(2) -t:查看最近几天之内的用户登录历史
比如: lastlog -t 1
查看最近1天之内的登陆历史
(3) -b:查看指定天数之前的用户登录历史
例如: lastlog -b 60
查看60天之前的用户登录历史
5、ac命令
根据/var/log/wtmp文件中的登陆和退出时间报告用户连接的时间(小时),默认输出报告总时间
需要安装:
(1)-p:显示每个用户的连接时间
(2)-d:显示每天的连接时间
(3)-y:显示年份,和-d配合使用
使用以下命令
sudo apt-get clean
sudo apt-get autoremove
autoremove的作用是卸载所有自动安装且不再使用的软件包。
autoremove这种方式容易将必要的软件删除掉,尽量不要使用。
首先了解下Linux链接的概念。
链接是为某一个文件在另外一个位置建立一个不同的链接,分为硬链接和软链接。
Linux软链接:它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,命令:ln -s xxx
Linux硬链接:它会在你选定的位置上生成一个和源文件大小相同的文件,命令:ln xx
无论是软链接还是硬链接,文件都保持同步变化。
因此,使用软链接可以将/var目录下占用空间较大的目录移动到富足的空间区块(如/home)下,使得/var下不再占用空间。
具体实现(www目录为例):
mv /var/www /home #将var下的www目录移动到home或者其他空间富足的区块中
ln -s /home/www /var #/var/www指向/home/www,这样www目录将不再占用/var目录的空间
3. 未单独分区情况
如果/var没有单独分区,则系统默认共享使用/home目录,若此时提示/var空间不足,则说明/home空间不足,这种情况可以清理一下/home目录或者重新安装系统,重新规划分区结构,当然使用软链接方式也是可以的,只要还有其他空间富足的区块。
也可以通过如下命令给/var扩容:
fdisk -l 查看分区表
fdisk /dev/sdb 锁定要分的区
pvcreate /dev/sdb 创建物理卷
vgscan 扫描虚拟卷组
vgextendcl /dev/sdb 给虚拟卷扩容
lvextend -L +50G /dev/mapper/cl-var 给虚拟卷扩容50G到va
xfs_growfs /dev/mapper/cl-var 让扩容生效,如果此命令不行换这个 resize2fs -f /dev/mapper/cl-var
df -h 查看磁盘容量
1、首先到/etc/group目录下查看相关的组,并把新用户分配的组的id记下命令:cat/etc/group。
2、其次执行创建用户命令,命令:adduser-gid1002tom。
3、最后使用tom作为用户对系统进行操作,可以进入到tom的家目录,然后在家目录中创建文件,查看文件所有者查看家目录,发现有一个与tom同名的目录,这个目录就是tom的家目录,tom在这个目录下有一定的权限。