20个 Unix/Linux 命令技巧

让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力。我已经找了很久了,现在就与你们分享。


删除一个大文件
我在生产服务器上有一个很大的200GB的日志文件需要删除。我的rm和ls命令已经崩溃,我担心这是由于巨大的磁盘IO造成的,要删除这个大文件,输入:

> /path/to/file.log
# 或使用如下格式
: > /path/to/file.log
# 然后删除它
rm /path/to/file.log

如何记录终端输出?
试试使用script命令行工具来为你的终端输出创建输出记录。

script my.terminal.sessio

输入命令:

ls
date
sudo service foo stop

要退出(结束script会话),输入  exit  或者  logout  或者按下  control-D 

要浏览输入:

more my.terminal.session
less my.terminal.session
cat my.terminal.session

还原被删除的 /tmp 文件夹
我在文章Linux和Unix shell,我犯了一些错误。我意外地删除了/tmp文件夹。要还原它,我需要这么做:

mkdir /tmp
chmod 1777 /tmp
chown root:root /tmp
ls -ld /tmp

锁定一个文件夹
为了我的数据隐私,我想要锁定我文件服务器下的/downloads文件夹。因此我运行了:

chmod 0000 /downloads

root用户仍旧可以访问,而ls和cd命令则不工作。要还原它用:

chmod 0755 /downloads

在vim中用密码保护文件
害怕root用户或者其他人偷窥你的个人文件么?尝试在vim中用密码保护,输入:

vim +X filename

或者,在退出vim之前使用:X 命令来加密你的文件,vim会提示你输入一个密码。

清除屏幕上的乱码
只要输入:

reset

易读格式
传递-h或者-H(和其他选项)选项给GNU或者BSD工具来获取像ls、df、du等命令以易读的格式输出:

ls -lh
# 以易读的格式 (比如: 1K 234M 2G)
df -h
df -k
# 以字节、KB、MB 或 GB 输出:
free -b
free -k
free -m
free -g
# 以易读的格式输出 (比如 1K 234M 2G)
du -h
# 以易读的格式显示文件系统权限
stat -c %A /boot
# 比较易读的数字
sort -h -a file
# 在Linux上以易读的形式显示cpu信息
lscpu
lscpu -e
lscpu -e=cpu,node
# 以易读的形式显示每个文件的大小
tree -h
tree -h /boot

via: http://www.cyberciti.biz/open-source/command-line-hacks/20-unix-command-line-tricks-part-i/

作者:nixCraft 
译者:geekpi 
校对:

时间: 2024-07-29 15:59:06

20个 Unix/Linux 命令技巧的相关文章

1.4 常用UNIX/Linux命令 -文件目录命令

常用UNIX/Linux命令 文件目录类命令 进程控制类命令 用户及权限管理类命令 命令格式 命令格式:命令名称 -选项 参数 例:ls -la /etc 文件目录类命令 浏览目录命令:ls pwd 目录操作命令:cd mkdir rmdir 浏览文件命令:cat more less head tail 文件操作命令:cp rm mv find grep tar 浏览目录命令ls.pwd ls&pwd : 目录操作命令cd.mkdir.rmdir cd.mkdir: rmdir: 浏览文件命令c

1.5 常用UNIX/Linux命令 -进程控制类命令

进程控制类命令 ?查看系统中的进程命令:ps top ?控制系统中的进程命令:kill killall nice renice ?进程后台运行命令 ?进程的挂起和恢复 程序和进程的区别: 程序是一个包含可执行代码的文件,它放在磁盘等介质上. 当程序被操作系统装载到内存并分配给它一定资源后,此时可称为进程. 程序是静态概念,进程是动态概念. Unix/Linux中的进程状态 1.查看系统中的进程命令之ps命令: 功能:ps命令是用来显示系统瞬间的进程信息,它可以显示出在用户输入ps命令时系统的进程

50个最常用的UNIX / Linux命令(结合实例)

1. tar command examples Create a new tar archive. $ tar cvf archive_name.tar dirname/ Extract from an existing tar archive. $ tar xvf archive_name.tar View an existing tar archive. $ tar tvf archive_name.tar More tar examples: The Ultimate Tar Comman

50个最常用的UNIX/Linux命令

转自http://get.jobdeer.com/493.get 1. tar command examples Create a new tar archive. $ tar cvf archive_name.tar dirname/ Extract from an existing tar archive. $ tar xvf archive_name.tar View an existing tar archive. $ tar tvf archive_name.tar More tar

50个必知的Linux命令技巧

1.Vim自动添加注释及智能换行 #vi ~/.vimrc set autoindent set tabstop=4 set shiftwidth=4 function AddTitle() call setline(1,"#!/bin/bash") call append(1,"#====================================================") call append(2,"# Author: lizhenli

linux命令技巧

[[email protected] ~]$ cat lgrw.txt cat: lgrw.txt: No such file or directory [[email protected] ~]$ ^rw^wr cat lgwr.txt 18:03:19.703928 times({tms_utime=27, tms_stime=18, tms_cutime=0, tms_cstime=0}) = 433678186 18:03:19.704111 semtimedop(1900546, {{

Linux命令技巧:如何在Linux下重命名多个文件

我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错.你不会想要撤销1000个文件的错误名吧! 当你想要重命名多个文件的时候,rename 工具或许是最简单.最安全和最强大的命令行工具.这

Unix/Linux命令:bc

bc是linux下的命令行式的计算器. 参数 -i 强制交互模式 -l 使用bc的内置库 -q 进入bc交互模式不再输出版本等多余的信息 特殊变量 scale 小数保留位,默认0位 obase 输出进制,默认十进制 ibase 输入进制,默认十进制 案例 交互模式 $ bc -i -l -q a=36 sqrt(a) 6.00000000000000000000 scale=2 sqrt(a) 6.00 obase=8 sqrt(64) 10.000 quit 非交互模式 $ echo "sca

常用mac/unix/linux命令

1.查询ip地址 ifconfig 2.查找服务器上应用程序的端口分配 grep telnet /etc/services (telnet) telnet使用TCP/UDP端口号23 grep domain /etc/services (domain) , telnet ftp tftp http https snmp domain echo discard daytime chargen time 23 20 69 80 443 161 53 7 9 13 19 37 3.ping [ip a