一些实用的linux命令
一、cd的几个小技巧
cd – #回到上次所在目录,这个技巧我原来还真是不知道,感觉还是比较有用,省略了很多输入。
cd #回到主目录
cd ~ #同样也是回到主目录
当进入到一个很深的目录后,一不小心从该目录跳出了,该怎么办呢,别急,这时有cd – 命令可以快速跳回上一次cd命令执行之前的目录中,通常也在脚本中用该命令实现:进入某一目录,执行脚本,然后使用cd – 回到执行命令之前的目录下。
二、查看进程树
ps aufx
aufx可以查看进程的派生过程,可以看到每一个进程的父进程以及更上一代的父进程。对于理解程序的调用流程有帮助。
三、搜索history
通常复杂的命令行,我们只能记住其中的某个特定的命令字,将整个命令行全部再敲击一边,非常费时,history | grep “关键字” 不失为一个好办法。
使用 Ctrl + r 逆向搜索历史命令,敲入少量关键字,即可快速定位到所需要的命令行。另外结合 Ctrl + p 和Ctrl + n还可以向前和向后找下一条命令。
四、统计history历史
如下一行脚本即可统计历史上使用的命令行的次数,并排出前十名,打印到屏幕:
history | awk ‘{CMD[$2]++;count++;}END { for (a in CMD)\
print CMD[a] ” ” CMD[a]/count*100 “% ” a;}’ | grep -v “./” \
| column -c3 -s ” ” -t | sort -nr | nl | head -n10
我的系统上面打印的结果是:
linux下boot空间不足解决方法
2014.08.16
在安装linux的过程中都喜欢把boot挂单独挂分区,一般设置500M,
可随着linux升级,往往会攒下好几个内核,某一天系统会提示你升级失败,空间不足了。。。
既然已经知道是boot空间不足了,那首先我们看看里面都有神马东西!!
ranger@ranger:~$ ls /boot
abi-2.6.35-25-generic memtest86+.bin
abi-2.6.35-27-generic memtest86+_multiboot.bin
abi-2.6.35-28-generic System.map-2.6.35-25-generic
config-2.6.35-25-generic System.map-2.6.35-27-generic
config-2.6.35-27-generic System.map-2.6.35-28-generic
config-2.6.35-28-generic vmcoreinfo-2.6.35-25-generic
grub vmcoreinfo-2.6.35-27-generic
initrd.img-2.6.35-25-generic vmcoreinfo-2.6.35-28-generic
initrd.img-2.6.35-27-generic vmlinuz-2.6.35-25-generic
initrd.img-2.6.35-28-generic vmlinuz-2.6.35-27-generic
lost+found vmlinuz-2.6.35-28-generic
我们可以看到都是一些内核启动文件,很明显有些是我们不需要的,其实以上都还是我已经卸载了俩比较老的内核的情况了,没商量,不需要的就当垃圾处理掉。
首先请用uname -a看下自己当前启动的是哪个内核。
ranger@ranger:~$ uname -a
Linux expired 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux 阅读详细 »
Linux系统巡检常用命令
2014.08.10
Linux系统需要定期巡检,以检查服务器软硬件使用情况,相当于对人的体检,确保可以及时发现问题、解决问题,降低损失,常用的巡检命令如下:
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh < 目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
# mount | column -t # 查看挂接的分区状态 阅读详细 »
有用的linux命令——chattr
2014.07.26
一般Linux的文件系统都是ext2/ext3。ext文件系统的文件,目录会有一些文件系统所特有的属性。我们之前所熟知的rwx等属性是linux操作系统赋予文件的属性,和登录用户相关。而本文所说的这个特性是文件系统相关的,它不受登录用户的限制。
ext3所包括的文件属性很多,主要涉及到文件在文件系统上的存储、是否启用日志、是否更新atime、是否采用压缩等多种高级特性,其中我们常见的一种属性就是防删除。
使用lsattr命令可以查看文件的文件系统属性,
横杠-表示未设置属性,默认情况下新建的文件是没有任何属性的,可以用chattr命令来进行修改。
Ubuntu 14.04 安装搜狗输入法
2014.05.08
linux下终于可以使用搜狗了,更新日志:http://pinyin.sogou.com/linux/changelog.php
1.卸载ibus输入法: sudo apt-get remove ibus
2.添加安装源
sudo add-apt-repository ppa:fcitx-team/nightly
3.更新源 sudo apt-get update
4.安装fcitx和fcitx-sunpinyin输入法(可以不安装)
sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin(拼音)
sudo apt-get install fcitx fcitx-config-gtk fcitx-sogoupinyin(搜狗)
5.安装码表
sudo apt-get install fcitx-table-all
6.接下来输入:im-switch -s fcitx -z default 把fcitx设置为默认输入法或者通过:系统—系统管理—语言支持,打开语言和文本设置项,在语言分页中的键盘输入方 式系统中选择fcitx.
而且此时使用可能快捷键不能正常切换,可能原因是与原来系统ibus设置快捷键冲突,修改快捷键不一样就可以了。
linux实用命令详解(五)—crontab
2014.03.09
一 crontab介绍
crontab 是linux 用来定期执行程序的命令,默认系统会启动此任务调度命令。crontab命令每分钟会定期检查是否有要执行的工作,若有便会自动执行。
二 命令格式
crontab –l|-r|-e|-i [username]
-l 显示用户的crontab文件的内容
-i 删除crontab文件时给出提示
-r 从crontab目录中删除用户的crontab文件
-e 编辑用户的crontab文件
三 应用实例
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
30 21 * * *
/usr/local/apache/bin/apachectl
restart
#上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * *
/usr/local/apache/bin/apachectl
restart
#上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0
/usr/local/apache/bin/apachectl
restart
#上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * *
/usr/local/apache/bin/apachectl
restart
#上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6
/usr/local/apache/bin/apachectl
restart
#上面的例子表示每星期六的11 : 00 pm重启apache。
* *
/1
* * *
/usr/local/apache/bin/apachectl
restart
#每一小时重启apache
* 23-7
/1
* * *
/usr/local/apache/bin/apachectl
restart
#晚上11点到早上7点之间,每隔一小时重启apache
#每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 * * * *
/bin/ls
#在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
*
/20
6-12 * 12 *
/usr/bin/backup
#周一到周五每天下午 5:00 寄一封信给 [email protected] :
#每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23
/2
* * *
echo
"haha"
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7
/2
,8 * * *
date