Linux
SurgeOfLove
计划重于一切!
展开
-
linux命令——双向重导向:tee
tee会同时将数据流分送到文件与屏幕原创 2015-04-29 11:01:39 · 497 阅读 · 0 评论 -
/etc/passwd的文件结构
1、输入账号密码后,系统的处理流程:l 先查找/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID(在/etc/group中)读出来,另外,该账号的家目录与shell设定也一并读出。l 进入/etc/shadow里面找出对应账号与UID,然后核对刚刚输入的密码与里面的密码是否相符合。l 如果一切ok的话,就进入shell控制的阶段。原创 2015-05-05 16:37:51 · 1140 阅读 · 0 评论 -
shell script 入门
1、注意事项1. 指令的执行是从上而下、从左而右的分析与执行;2. 指令的下达就如同第五章内提到的: 指令、选项与参数间的多个穸白都会被忽略掉;3. 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样规为空格键;4. 如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令;5. 至于如果一行的内容太多,则可以使用『 \[Enter] 』来延伸原创 2015-05-04 17:26:29 · 373 阅读 · 0 评论 -
Linux群组管理
1、groupadd2.groupmod3.groupdel4.gpasswd原创 2015-05-05 17:38:59 · 461 阅读 · 0 评论 -
用户功能
useradd/usermod/userdel都是系统管理员(UID为0)能够使用的指令,一般用户除了修改自己的密码外还有其他功能。1、 finger可以查阅很多用户相关的信息喔! 大部分都是在 /etc/passwd 这个档案里面的信息啦!2、chfn3、chsh4、idid 这个指令则可以查询某人或自己的相关 UID/原创 2015-05-05 17:46:37 · 396 阅读 · 0 评论 -
函数 function
语法:function fname(){程序段}ps:函数在执行时,必须已经被定义过,即函数定义最好写在最前面。pps:有的shell函数定义没有(),即function fname{} 调用: fname args... //没有()与形参列表,参数写在函数名后面!! 内建变量:function也有内建变量,与shell sc原创 2015-05-05 11:10:50 · 393 阅读 · 0 评论 -
linux 中格式化打印:printf
%10s代表的是一个长度为10个字符的字符串字段,%5i代表的是长度为5个字符的数字字段,%8.2f代表的是长度为8个字符的具有小数点的字段,其中小数有两个字符宽度。%8.2f的意义:00000.00,其中小数点会占一位。原创 2015-05-04 15:05:05 · 745 阅读 · 0 评论 -
shell script 的默认参数($0,$1...)
shift:造成参数变量号码的偏移原创 2015-05-04 17:40:21 · 465 阅读 · 0 评论 -
linux awk命令:好用的数据处理工具
相比较于sed常常用于一个整行的处理,awk则比较倾向于一行当中分成数个【字段】来处理。 # awk ‘条件类型1{动作1} 条件类型2{动作2}....’ filenameawk可以处理后续接的文件,也可以当成管道命令来读取前一个指令的standard output。awk主要是处理每一行的字段内的数据,而默认的字段的分隔符是空格或者tab键。PS: $0代笔一整行!原创 2015-05-04 15:08:02 · 383 阅读 · 0 评论 -
linux文件比对工具——diff
diff 就是用在比对两个档案之间的差异的,并且是以行为单位来比对的!一般是用在 ASCII 纯文本档的比对上。 由于是以行为比对的单位,因此 diff 通常是用在同一的档案(或软件)的新旧版本差异上!除了比对文件,diff还可以比对不同目录下的文件名。原创 2015-05-04 15:19:31 · 737 阅读 · 0 评论 -
/etc/group的文件结构
以冒号『:』作为字段的分隔符,共分为四栏,每一字段的意义是:l 有效群组与初始群组 /etc/passwd 里面的第四栏有所谓的 GID 吧?那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登入系统,立刻就拥有这个群组的相关权限的意思。原创 2015-05-05 16:57:39 · 685 阅读 · 0 评论 -
/etc/shadow的文件结构
shadow 同样以『:』作为分隔符,共有九个字段:原创 2015-05-05 17:14:23 · 590 阅读 · 0 评论 -
Linux中exec命令
Linux中exec命令相关:exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。 bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、his转载 2015-08-24 16:41:53 · 1174 阅读 · 0 评论 -
Linux hostname命令详解
1、查看本机的hostname#hostname2、修改本机的hostname#hostname newname运行后立即生效(重新启动shell),但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的配置置文件。RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修原创 2015-05-22 09:48:57 · 13352 阅读 · 0 评论 -
Linux主机上的用户信息传递
1、查询使用者:w,who,last,lastlog查询一个用户的信息,可以用id(查询uid,gid)或finger(查询/etc/passwd的内容)。而想要知道使用者们是啥时登录的,最简单的是使用last命令。2、 使用者对谈:write,mesg,wall原创 2015-05-07 17:00:12 · 439 阅读 · 0 评论 -
Linux sudo 命令
一开始系统默认仅有root可以执行sudo,下面先以root身份来执行,等讲到visudo时,再以一般使用者来讨论其他sudo的用法。/usr/bin/sh---->/usr/bin/bashl bash——启动一个子shelll bash sh01.sh ——运行shell脚本,在子shell中运行l bash -c string——string中原创 2015-05-07 16:52:32 · 656 阅读 · 0 评论 -
特殊的shell——/sbin/nologin
特殊的shell——/sbin/nologin:使用了这个 shell 的用户即使有了密码,你想要登入时他也无法登入,会出现如下的信息:This account is currently not available.我们所谓的『无法登入』指的仅是:『这个使用者无法使用 bash 或其他 shell 来登入系统』而已, 并不是说这个账号就无法使用其他的系统资源喔! 举例来说,各个原创 2015-05-07 16:55:22 · 8834 阅读 · 0 评论 -
su命令——切换身份(switch user)
原创 2015-05-07 10:36:52 · 2646 阅读 · 0 评论 -
shell script中的循环语法
1、while do done,util do done(不定循环)while 的中文是『当....时』,所以,这种方式说的是『当 condition 条件成立时,就进行循环,直到condition 的条件不成立才停止』的意思。这种方式恰恰不与while 相反,它说的是『当 condition 条件成立时,就终止循环, 否则就持续进行循环的程序段。』原创 2015-05-05 11:12:17 · 826 阅读 · 0 评论 -
/etc/gshadow
原创 2015-05-05 17:03:02 · 698 阅读 · 0 评论 -
Linux 账号管理
1、useradd原创 2015-05-05 17:31:44 · 372 阅读 · 0 评论 -
条件判断if 和 case...esac 判断(相当于switch)
1、ifif [];thenelif [];thenelsefips:if和elif与[]中间也有空格!!#!/bin/bashread -p “Please input(Y/N):” ynif [ “$yn” == “Y” ]||[ “$yn” == “y” ];thenecho “ok,continue”exit 0fiif [原创 2015-05-04 17:44:03 · 858 阅读 · 0 评论 -
test指令的测试功能
# test -e /home && echo “exist” || echo “Not exist”#!/bin/bashecho -e "Please input a filename, I will check the filename's type and permission. \n\n"read -p "Input a filename原创 2015-05-04 17:32:55 · 2229 阅读 · 0 评论 -
linux中的正则表达式
1、特殊符号2、正则表达式字符汇整PS:再次强调,在shell中*代表0到多个字符的意思,?代表一个任意字符,而在正则表达式中,*代表0到多个的前一个字符(或者用()括起来的组),.点号代表任意一个字符。原创 2015-04-30 17:42:19 · 332 阅读 · 0 评论 -
grep进阶——运用正则表达式
PS: grep “^[[:blank:]]*\n$” 匹配空白行!!原创 2015-04-30 17:46:58 · 334 阅读 · 0 评论 -
Linux 脱机管理问题
要注意的是,我们在工作管理当中提到的『背景』指的是在终端机模式下可以避免 [crtl]-c 中断的一个情境, 并不是放到系统的背景去喔!所以,工作管理的背景依旧与终端机有关啦! 在这样的情冴下,如果你是以远程联机方式连接到你的 Linux 主机,并且将工作以 & 的方式放到背景去, 请问,在工作尚未结束的情况下你脱机了,该工作还会继续进行吗?答案是『否』!不会继续迚行,而是会被中断掉。原创 2015-05-08 16:32:28 · 762 阅读 · 0 评论 -
系统资源观察
1、free :观察内存使用情况2、uname:查阅系统与核心相关信息3、uptime:观察系统启动时间与工作负载4、netstat :追踪网络与插槽文件原创 2015-05-08 16:30:31 · 473 阅读 · 0 评论 -
Linux 程序管理
1、ps :将某个时间点的程序运作情况撷取下来只要记得[ ps -l ] 和 [ ps aux]就行了。(aux前没有-减号)2、pstree3、kill -signal PIDps:一共64个signal,可以用kill -l 或者 man 7 signal 查询。pps:kill 可以帮我们将这个 sign原创 2015-05-08 16:24:36 · 347 阅读 · 0 评论 -
Linux 工作管理(job control)
工作管理是用在bash环境下。也就是说:『当我们登入系统取得 bash shell 之后,在单一终端机接口下同时进行多个工作的行为管理 』。举例来说,我们在登入 bash 后, 想要一边复制档案、一边进行资料搜寻、一边进行编译,还可以一边进行 vi 程序撰写! 当然我们可以重复登入那六个文字接口的终端机环境中,不过,能不能在一个 bash 内达成? 当然可以啊!就是使用 job control 啦原创 2015-05-08 16:33:41 · 525 阅读 · 0 评论 -
linux命令之参数代换:xargs
使用xargs的原因是,很多命令并不支持管道命令,于是我们可以用xargs来提供该指令引用stdin之用!!原创 2015-04-29 11:09:40 · 534 阅读 · 0 评论 -
linux命令之分割命令:split
原创 2015-04-29 11:08:27 · 565 阅读 · 0 评论 -
linux命令之字符转换命令:tr, col, join, paste
tr:col:join:paste:paste比join简单多了,直接将两行贴在一起,并且中间默认以Tab键隔开!!原创 2015-04-29 11:06:15 · 895 阅读 · 0 评论 -
shell中的通配符
需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。把通配符理解为shell 特殊代号字符就可。而且涉及的只有,*,? [] ,{} 这几种。原创 2015-04-30 17:58:39 · 508 阅读 · 0 评论 -
管道命令中减号-的用途
在管道命令当中,常常会使用前一个指令的stdout作为这次的stdin,如: 上面这个例子是说:『我将 /home 里面的档案给他打包,但打包的数据不是记录到档案,而是传送到stdout; 经过管线后,将 tar -cvf - /home 传送给后面的 tar -xvf - 』。后面的这个 - 则是取用前一个指令的 stdout, 因此,我们就不需要使用 file 了!原创 2015-04-29 11:10:43 · 1151 阅读 · 0 评论 -
延伸的正则表达式
grep -v ‘^$’ regular.txt | grep -v ‘^#’等价于 egrep -v ‘^$|^#’ regular.txtgrep 预设仅支持基础正则表示法,如果要使用延伸的正则表示法,你可以使用 grep -E , 不过更建议直接使用 egrep !直接区分指令比较好记忆!其实 egrep 与 grep -E是类似命令别名的关系啦! 延伸正则表达式的几个特殊符原创 2015-05-04 11:05:59 · 502 阅读 · 0 评论 -
linux sed命令
sed本身也是一个管道命令,可以分析standard input。而且sed还可以将数据进行增加、删除、替代、撷取特定行等的功能。①以行为单位的增加、删除功能nl /etc/passwd | sed ‘2,5d’ //sed -e ‘2,5d’ 一个意思;PS: sed后面接的动作,必须以引号括住!!nl /etc/passwd | sed原创 2015-05-04 11:03:50 · 353 阅读 · 0 评论 -
linux wc命令
当你要知道目前你的账号档案中有多少个账号时,就使用这个方法:『 cat /etc/passwd| wc -l 』啦!因为 /etc/passwd 里头一行代表一个使用者呀! 所以知道行数就晓得有多少的账号在里头了!原创 2015-04-28 17:18:53 · 367 阅读 · 0 评论 -
linux uniq命令
原创 2015-04-28 17:14:38 · 394 阅读 · 0 评论 -
linux grep命令
cut 是将一行讯息当中,取出某部分我们想要的,而 grep 则是分析一行讯息, 若当中有我们所需要的信息,就将该行拿出来~ps:这里的搜寻字符串可以是正则表达式!!原创 2015-04-28 17:09:20 · 402 阅读 · 0 评论 -
linux cut命令
cut命令(不是切的意思,是撷(xie)取、挑出的意思)针对一行一行进行分析ps:如果有连续的:,则会有一个空串在其中!!原创 2015-04-28 17:06:55 · 587 阅读 · 1 评论