1.修改默认LANG
记录一下 默认linux的LANG是en_US.UTF-8
现在我改成了C
以防以后忘记
2.添加alias
在~/.bashrc里加上alias记录
然后再“source ~/.bashrc”
去芜存菁
1.修改默认LANG
记录一下 默认linux的LANG是en_US.UTF-8
现在我改成了C
以防以后忘记
2.添加alias
在~/.bashrc里加上alias记录
然后再“source ~/.bashrc”
变量内容的删除,替代与替换
1. 完整呈现 vbird 这个变量的内容; [root@linux ~]# vbird="/home/vbird/testing/testing.x.sh" [root@linux ~]# echo ${vbird} /home/vbird/testing/testing.x.sh 2. 在 vbird 变量中,从最前面开始比对,若开头为 / ,则删除两个 / 之间的所有数据,亦即 /*/ [root@linux ~]# echo ${vbird##/*/} testing.x.sh <==删除了 /home/vbird/testing/ [root@linux ~]# echo ${vbird#/*/} vbird/testing/testing.x.sh <==仅删除 /home/ 而已 # 这两个小例子有趣了~变量名称后面如果接了两个 ## ,表示在 ## # 后面的字符串取『最长的』那一段;如果仅有一个 # ,表示取『最小的那一段』喔! 3. 承上题,如果是从后面开始,删除 /* 呢? [root@linux ~]# echo ${vbird%%/*/} /home/vbird/testing/testing.x.sh <==都没被删除 [root@linux ~]# echo ${vbird%%/*} <==被删除光了! [root@linux ~]# echo ${vbird%/*} /home/vbird/testing <==只删除 /testing.x.sh 部分 # 这个例子当中需要特别注意,那个 % 比对的是『最后面那个字符』的意思, # 所以啰,第一个方式当然不对~因为 vbird 这个变量的内容最后面是 h 而不是 / 啊! # 至于 %%/* 则是删除『最长的那个 /* 』,当然就是全部喔!而 %/* 则是最短的那个! 4. 将 vbird 变数中的 testing 取代为 TEST [root@linux ~]# echo ${vbird/testing/TEST} /home/vbird/TEST/testing.x.sh [root@linux ~]# echo ${vbird//testing/TEST} /home/vbird/TEST/TEST.x.sh # 如果变量后面接的是 / 时,那么表示后面是进行『取代』的工作~而且仅取代『第一个』 # 但如果是 // ,则表示全部的字符串都取代啊!
多窗口功能
想象两个情况:
• 当我有一个档案非常的大,我查阅到后面的数据时,想要『对照』前面的数据, 是否需要使用 [ctrl]
+f 与 [ctrl]+b 来跑前跑后查阅?
• 我有两个需要对照着看的档案,不想使用前一小节提到的多档案编辑功能;
这样的情况下,开一个 vim 里头有两个窗口的环境,就有需要啦!那么如何开启新窗口呢? 很简单啊!
在指令列模式输入:『:sp {filename}』,那个 filename 可有可无, 如果想要在新窗口启动另一个档案,
就加入档名,否则仅输入 :sp 时, 出现的则是同一个档案在两个窗口间!例如鸟哥使用 vim hosts 后,
再以 :sp /etc/hosts ,
结果出现如下图示:
怎样?帅吧!两个档案同时在一个屏幕上面显示,您还可以利用『[ctrl]+w+j』及『[ctrl]+w+k』 在两个
窗口之间移动呢!这样的话,复制啊、查阅啊等等的,就变的很简单啰~ 指令的功能有很多,不过,您只
要记得这几个就好了:
vim 环境设定
有没有发现,
如果我们以 vim 软件来搜寻一个档案内部的某个字符串时,
这个字符串会被反白,
而下次
我们再次以 vim 编辑这个档案时,
该搜寻的字符串还是存在呢!
甚至于, 编辑其它档案时,如果其它档
案也存在这个字符串,哇!!
竟然还是主动反白耶!
另外,当我们重复编辑同一个档案时,当第二次进入
该档案时, 光标竟然就在上次离开的那一行上头呢!
真是好方便啊~但是,怎么会这样呢?
这是因为我们的 vim 会主动的将您曾经做过的行为登录下来,好让您下次可以轻松的作业啊!
那个记录
动作的档案就是: ~/.viminfo 这个档案啦!
每个人的家目录都应该会存在这个档案才对~这个档案是自
动产生的, 您不必自行建立。
而你在 vim 里头所做过的动作,就可以在这个档案内部查询到啰~ ^_^
此外,某些 distributions 的 vim 当中,利用搜寻时,他并不会显示反白, 有些 distributions 则会
主动的帮您进行缩排的行为 (所谓的缩排, 就是当您按下 Enter 编辑新的一行时,光标不会在行首,而
是在与上一行的第一个非空格符处对齐!)。
这些其实都可以进行设定的,那就是 vim 的环境设定啰~ vim
的环境设定参数有很多,如果您想要知道目前的设定值,可以在一般模式时输入:『 :set all 』 来查阅,
不过…..设定项目实在太多了~所以,鸟哥在这里仅列出一些平时比较常用的一些简单的设定值, 提供
给您参考啊:
-A:调整可执行的自动解压缩文件; -b<工作目录>:指定暂时存放文件的目录; -c:替每个被压缩的文件加上注释;-d:从压缩文件内删除指定的文件; -D:压缩文件内不建立目录名称;-f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中; -F:尝试修复已损坏的压缩文件; -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件; -h:在线帮助; -i<范本样式>:只压缩符合条件的文件; -j:只保存文件名称及其内容,而不存放任何目录名称; -J:删除压缩文件前面不必要的数据; -k:使用MS-DOS兼容格式的文件名称;-l:压缩文件时,把LF字符置换成LF+CR字符; -ll:压缩文件时,把LF+cp字符置换成LF字符; -L:显示版权信息; -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中; -n<字尾字符串>:不压缩具有特定字尾字符串的文件; -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同; -q:不显示指令执行过程; -r:递归处理,将指定目录下的所有文件和子目录一并处理; -S:包含系统和隐藏文件; -t<日期时间>:把压缩文件的日期设成指定的日期; -T:检查备份文件内的每个文件是否正确无误; -u:更换较新的文件到压缩文件内; -v:显示指令执行过程或显示版本信息; -V:保存VMS操作系统的文件属性; -w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效; -x<范本样式>:压缩时排除符合条件的文件; -X:不保存额外的文件属性; -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效; -z:替压缩文件加上注释; -$:保存第一个被压缩文件所在磁盘的卷册名称; -<压缩效率>:压缩效率是一个介于1~9的数值。
zip压缩包:指定要创建的zip压缩包;
文件列表:指定要压缩的文件列表。
将/home/Blinux/html/
这个目录下所有文件和文件夹打包为当前目录下的html.zip:
zip -q -r html.zip /home/Blinux/html
上面的命令操作是将绝对地址的文件及文件夹进行压缩,以下给出压缩相对路径目录,比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果:
zip -q -r html.zip html
比如现在我的html目录下,我操作的zip压缩命令是:
zip -q -r html.zip *
UNZIP
-c:将解压缩的结果显示到屏幕上,并对字符做适当的转换;-f:更新现有的文件;-l:显示压缩文件内所包含的文件; -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换; -t:检查压缩文件是否正确; -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中; -v:执行时显示详细的信息; -z:仅显示压缩文件的备注文字;-a:对文本文件进行必要的字符转换; -b:不要对文本文件进行字符转换; -C:压缩文件中的文件名称区分大小写; -j:不处理压缩文件中原有的目录路径; -L:将压缩文件中的全部文件名改为小写; -M:将输出结果送到more程序处理; -n:解压缩时不要覆盖原有的文件; -o:不必先询问用户,unzip执行后覆盖原有的文件; -P<密码>:使用zip的密码选项; -q:执行时不显示任何信息;-s:将文件名中的空白字符转换为底线字符; -V:保留VMS的文件版本信息; -X:解压缩时同时回存文件原来的UID/GID;-d<目录>:指定文件解压缩后所要存储的目录; -x<文件>:指定不要处理.zip压缩文件中的哪些文件; -Z:unzip-Z等于执行zipinfo指令。
压缩包:指定要解压的“.zip”压缩包。
将压缩文件text.zip在当前目录下解压缩。
unzip test.zip
将压缩文件text.zip在指定目录/tmp
下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
unzip -n test.zip -d /tmp
查看压缩文件目录,但不解压。
unzip -v test.zip
将压缩文件test.zip在指定目录/tmp
下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
unzip -o test.zip -d tmp/
第一个属性代表这个档案是『目录、档案或连结文件等等』:
当为[ d ]则是目录,例如上表的第 11 行;
当为[ – ]则是档案,例如上表的第 5 行;
若是[ l ]则表示为连结档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备;
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
需要特别留意的是 x 这个标号! 若文件名为一个目录的时候,例如上表中的 .ssh 这
个目录
可以看到这是一个目录,而且只有 root 可以读写与执行。但是若为底下的样式时,请问非 root 的其它人是否可以进入该目录呢?
咦!似乎好像是可以喔!因为有可读[ r ]存在嘛!『错!』答案是非 root 这个账号的其它使用者均不可进入 .ssh 这个目录,为什么呢?
因为 x 与 目录 的关系相当的重要, 如果在该目录底下不能执行任何指令的话,那么自然也就无法进入了。
如何改变档案权限
chgrp :改变档案所属群组
chown :改变档案所属人
chmod :改变档案的属性、 SUID、等等的特性
r:4
w:2
x:1
Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。
CentOS的ifconfig, route以及ip指令的实战应用 http://www.linuxidc.com/Linux/2013-05/83956.htm
CentOS安装后ifconfig 无法显示网卡 http://www.linuxidc.com/Linux/2013-04/82573.htm
CentOS的ifconfig, route以及ip指令的实战应用 http://www.linuxidc.com/Linux/2013-05/83956.htm
ifconfig: command not found http://www.linuxidc.com/Linux/2012-07/64703.htm
CentOS 6.2下ifconfig输出网口和ip http://www.linuxidc.com/Linux/2012-06/63672.htm
要安装ip,请点击这里下载iproute2套装工具 。不过,大多数Linux发行版已经预装了iproute2工具。
你也可以使用git命令来下载最新源代码来编译:
$ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git
要给你的机器设置一个IP地址,可以使用下列ip命令:
$ sudo ip addr add 192.168.0.193/24 dev wlan0
请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。
在你按照上述方式设置好IP地址后,需要查看是否已经生效。
$ ip addr show wlan0
你也可以使用相同的方式来删除IP地址,只需用del代替add。
$ sudo ip addr del192.168.0.193/24 dev wlan0
ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的路由条目,你可以随意改动它。
在这个例子中,有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括WIFI、以太网和一个点对点连接。
$ ip route show
假设现在你有一个IP地址,你需要知道路由包从哪里来。可以使用下面的路由选项(译注:列出了路由所使用的接口等):
$ ip route get10.42.0.47
systemd 处理某些电源相关的 ACPI事件,可以通过从 /etc/system/logind.conf以下选项进行配置:
HandlePowerKey按下电源键后的行为,默认power off
HandleSleepKey 按下挂起键后的行为,默认suspend
HandleHibernateKey 按下休眠键后的行为,默认hibernate
HandleLidSwitch 合上笔记本盖后的行为,默认suspend
触发的行为可以有
ignore、power off、reboot、halt、suspend、hibernate、hybrid-sleep、lock 或 exec。
如果要合盖不休眠只需要把HandleLidSwitch选项设置为如下即可:
HandleLidSwitch=lock
注意:设置完成保存后运行下列命令才生效。
systemctl restart systemd-logind