在博客的草稿箱里一直有一份"Linux命令"的草稿,记录了一些常用的Linux命令,用于需要的时候查询。由于是出于个人使用的目的,所以这个清单并不完整。今天整理了一下这个清单,调整了格式,并增加了一些内容。现在发布出来,以抛砖引玉。我也会在未来继续补充。希望能对Linux用户有用。

Linux相关背景可参阅Linux的概念与体系系列文章

网络相关背景可参阅协议森林系列文章

下面是格式说明,你现在可以跳过,直到遇到疑问时再来查询。

$ 命令行提示符

粗体表示命令

斜体表示参数

filename, file1, file2 都是文件名。有时文件名有后缀,比如file.zip

command 命令名

dir 文件夹名

string 字符串

username 用户名

groupname 组名

regex 正则表达式

path 路径

device 设备名

partition 分区名

IP IP地址

domain 域名

ID 远程用户ID

host 主机名,可以为IP地址或者域名

var 变量名

value 变量值

命令帮助

$man command

查询命令command的说明文档

$man -k keyword

查询关键字

$info command

更加详细的说明文档

$whatis command

简要说明

$which command

command的binary文件所在路径

$whereis command

在搜索路径中的所有command

这里只是以command (binary file) 为例。比如man还可以用于查询系统函数、配置文件等。

用户

$finger username

显示用户username的信息

$who

显示当前登陆用户

$who am I

一个有趣的用法

$write username

向用户发送信息 (用EOF结束输入)

$su

成为root用户

$sudo command

以root用户身份执行

$passwd

更改密码

SHELL (BASH)

$history

显示在当前shell下命令历史

$alias

显示所有的命令别称

$alias new_command='command'

将命令command别称为new_command

$env

显示所有的环境变量

$export var=value

    设置环境变量varvalue  

$expr 1 + 1

计算1+1

文件系统

$du -sh dir

文件夹大小, -h 人类可读的单位, -s 只显示摘要

$find . -name filename

从当前路径开始,向下寻找文件filename

$locate string

寻找包含有string的路径

$updatedb

find不同,locate并不是实时查找。你需要更新数据库,以获得最新信息。

$ln -s filename path

为文件filenamepath位置创建软链接

$pwd

显示当前路径

$cd path

更改当前工作路径为path

$cd -

更改当前路径为之前的路径

文件

$touch filename

如果文件不存在,创建一个空白文件;如果文件存在,更新文件读取和修改时间。

$rm filename

删除文件

$cp file1 file2

复制file1file2

$ls -l path

显示文件和文件相关信息

$mkdir dir

创建dir文件夹

$mkdir -p path

递归创建路径path上的所有文件夹

$rmdir dir

删除dir文件夹,dir必须为空文件夹。

$rm -r dir

删除dir文件夹,以及其包含的所有文件

$file filename

文件filename的类型描述

$chown username:groupname filename

更改文件的拥有用会为owner,拥有组为group

$chmod 755 filename

更改文件的权限为755: owner r+w+x, group: r+x, others: r+x

$od -c filename

以ASCII字符显示文件

文件显示

$cat filename

显示文件
    $cat file1 file2

连接显示file1和file2

$head -1 filename

显示文件第一行

$tail -5 filename

显示文件倒数第五行

$diff file1 file2

显示file1file2的差别

$sort filename

对文件中的行排序,并显示

$sort -f filename

排序时,不考虑大小写

$sort -u filename

排序,并去掉重复的行

$uniq filename

显示文件filename中不重复的行 (内容相同,但不相邻的行,不算做重复)

$wc filename

统计文件中的字符、词和行数

$wc -l filename

统计文件中的行数

文本

$echo string

显示string

$echo string | cut -c5-7

截取文本的第5到第7列

$echo string | grep regex

显示包含正则表达式regex的行

$echo string | grep -o regex

显示符合正则regrex的子字符串

时间与日期

$date

当前日期时间

$date +"%Y-%m-%d_%T"

以YYYY-MM-DD_HH:MM:SS的格式显示日期时间 (格式可参考$man date)

$date --date="1999-01-03 05:30:00" 100 days

显示从1900-01-03 05:30:00向后100天的日期时间

$sleep 300

休眠300秒

进程

$top

显示进程信息,并实时更新

$ps

显示当前shell下的进程

$ps -lu username

显示用户username的进程

$ps -ajx

以比较完整的格式显示所有的进程

$kill PID

杀死PID进程 (PID为Process ID)

$kill %job

杀死job工作 (job为job number)

$lsof -u username

用户username的进程所打开的文件

$dmesg

显示系统日志

$time a.out

测试a.out的运行时间

硬件

$uname -a

显示系统信息

$df -lh

显示所有硬盘的使用状况

$mount

显示所有的硬盘分区挂载

$mount partition path

挂在partition到路径path

$umount partition

卸载partition

$sudo fdisk -l

显示所有的分区

$sudo fdisk device

为device(比如/dev/sdc)创建分区表。 进入后选择n, p, w

$sudo mkfs -t ext3 partition

格式化分区patition(比如/dev/sdc1)

修改 /etc/fstab,以自动挂载分区。增加行:

/dev/sdc1  path(mount point) ext3 defaults 0 0

$arch

显示架构

$cat /proc/cpuinfo

显示CPU信息

$cat /proc/meminfo

显示内存信息

$free

显示内存使用状况

$pagesize

显示内存page大小(以KByte为单位)

网络

$ifconfig

显示网络接口以及相应的IP地址。ifconfig可用于设置网络接口

$ifup eth0

运行eth0接口

$ifdown eth0

关闭eth0接口

$iwconfig

显示无线网络接口

$route

显示路由表。route还可以用于修改路由表

$netstat

显示当前的网络连接状态

$ping IP

发送ping包到地址IP

$traceroute IP

探测前往地址IP的路由路径

$dhclient

向DHCP主机发送DHCP请求,以获得IP地址以及其他设置信息。

$host domain

DNS查询,寻找域名domain对应的IP

$host IP

    反向DNS查询

$wget url

使用wget下载url指向的资源

$wget -m url

镜像下载

SSH登陆与文件传输

$ssh ID@host

ssh登陆远程服务器hostID为用户名。

$sftp ID@host

登陆服务器hostID为用户名。sftp登陆后,可以使用下面的命令进一步操作:

get filename    # 下载文件

put filename    # 上传文件

ls              # 列出host上当前路径的所有文件

cd              # 在host上更改当前路径

lls             # 列出本地主机上当前路径的所有文件

lcd             # 在本地主机更改当前路径

$scp localpath ID@host:path

将本地localpath指向的文件上传到远程主机的path路径

$scp -r ID@site:path localpath

以ssh协议,遍历下载path路径下的整个文件系统,到本地的localpath

压缩与归档

$zip file.zip file1 file2

file1file2压缩到file.zip

$unzip file.zip

解压缩file.zip

$gzip -c filename > file.gz

将文件filename压缩到file.gz

$gunzip file.gz

解压缩file.gz文件

$tar -cf file.tar file1 file2

创建tar归档

$tar -zcvf file.tar file1 file2

创建tar归档,并压缩

$tar -xf file.tar

释放tar归档

$tar -zxf file.tar.gz

解压并释放tar归档

打印

$lpr filename

打印文件

$lpstat

显示所有打印机的状态

原文地址:http://www.cnblogs.com/vamei/archive/2013/03/03/2871198.html

Linux常用命令[转]的更多相关文章

  1. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  2. linux常用命令的介绍

    本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

  3. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  4. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  5. 第一章,Linux常用命令

    20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...

  6. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  7. Linux 常用命令行

    Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作

  8. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  9. 对于我的linux常用命令的说明

    我所列出的linux常用命令中的选项并不是全部的选项,是一些我们经常用到的linux命令及选项

  10. Linux 常用命令笔记

    Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...

随机推荐

  1. 我常用的find命令

    查找某种类型文件中包含特定字符的文件 find /* -type f -name "*.php" |xargs grep "rename(" find ./|x ...

  2. 没听说过这些,就不要说你懂并发了,three。

    引言 很久没有跟大家再聊聊并发了,今天LZ闲来无事,跟大家再聊聊并发.由于时间过去的有点久,因此LZ就不按照常理出牌了,只是把自己的理解记录在此,如果各位猿友觉得有所收获,就点个推荐或者留言激励下LZ ...

  3. 《C#高级编程》之委托学习笔记 (转载)

    全文摘自 http://www.cnblogs.com/xun126/archive/2010/12/30/1921551.html 写得不错,特意备份!并改正其中的错误代码..     正文: 最近 ...

  4. 利用CAReplicatorLayer实现的加载动画

    在上一篇中,笔者简要介绍了CAReplicatorLayer,在本篇中,将介绍具体的实用价值. 实用CAReplicatorLayer作为核心技术实现加载动画. 首先,创建一个UIView的子类 @i ...

  5. AngularJS多模块开发

    angularJS中的多模块开发是指多个module模块开发,步骤为: 1. 确定主模块    var app=angular.module('myApp',[]); 2. 其他的子模块添加到主模块后 ...

  6. linq 的switch实现

    List<RemindSend> lrs = (from a in db.Remind join b in db.Certified on a.certifiedId equals b.C ...

  7. python入门一

    python类型 编程语言主要从以下几个角度为进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 编译型和解释型 编译型:在程序执行之前,有一个单独的编译过程,将程序翻译成 ...

  8. hdu分类 Math Theory(还有三题!)

    这个分类怎么觉得这么水呢.. 这个分类做到尾的模板集: //gcd int gcd(int a,int b){return b? gcd(b, a % b) : a;} //埃氏筛法 O(nlogn) ...

  9. HYSBZ 2957 分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 题意:中文题面 思路: 来自此博客 首先明确问题,对于每栋楼房的斜率K=H/X,问题 ...

  10. [spring源码学习]一、IOC简介

    一.程序实例 假设一个简单地实例,我们有一个人,人可能有姓名,年龄等属性,每天上下班的时候需要坐车,他可能做小轿车,suv等,这样一个场景.我们很容易想到如下代码: 1.人的对象类,包括两个属性,姓名 ...