一些实用的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命令

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命令

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命令可以查看文件的文件系统属性,
一些实用的linux命令

横杠-表示未设置属性,默认情况下新建的文件是没有任何属性的,可以用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 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
#每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date

相关推荐