参考《linux命令行大全》

一.文件命令

cd - 切换为之前目录

wc -l -w file

cmd --help

apropos keyword

apropos cpu >

type foo 检查命令类型,是否已被占用

alias foo='cd;ll;cd -'

foo

ll
/etc/passwd >
pw.txt (输出重定向时,>自动创建不存在的文件)

>
file (删除一个文件)

cmd
>> file 文件尾部追加,不存在则创建之

0--标准输入文件

1--标准输出文件

2--标准错误文件

cmd
2> err.txt

cmd
&> outerr.txt

cmd
2> /dev/null

cat
f1 f2 > f3 文件合并

$
cat (等待键盘输入)

$
cat -ns
file 删除空行,且对行编号

ctrl-D
(文件触底,end
of file)

cmd
| tee
file
| grep pattern

echo
a{A{1..2},B{3..4}}

aA1
aA2 aB3 aB4

mkdir
{2015..2016}-0{1..9}

2015-01

2015-02

2015-03

二.命令行键盘编辑技巧

1.光标移动

ctrl-A
光标到行首

ctrl-E
光标到行尾

CTRL-F
前移一个字符

CTRL-B
后移一个字符

ALT-F
前移一个字

ALT-B
后移一个字

2.文本编辑

ctrl-D
删除字符

ctrl-T
前字符替换

Alt-U
大写转换

3.剪切复制

ctrl-K
剪切光标到行尾

ctrl-U
剪切光标到行首

ALT-D
剪切光标到词尾

ALT-Backspace
剪切光标到词首

ctrl-Y
复制kill-ring缓冲区到光标

Tab命令自动补齐

ls
l(Tab)---ls log

!88
--执行history中第88行命令

!!
执行history最后一行命令

4.权限

id

cat
/etc/passwd

cat
/etc/group

$
su -c 'command'

sudo与su区别:

执行有限条指令;

sudo无需输入root密码,只输用户密码;

不启动新shell环境,不加载另一个用户环境

进程

ps
     只显示当前会话终端进程

ps
x    显示所有进程

ps
aux

gedit
&    后台运行进程,ctrl-c无法中断

jobs      查看终端所有作业

fg
%jobid    进程回到前台运行

bg
%jobid 进程回到后台

ctrl-z
暂停前台进程

kill
[-signal] PID…

kill
-SIGHUB/1 PID/%jobid 前台程序终止,后台进程重新初始化

kill
-INT PID/%jobid 中断信号,终止程序

killall
[-u user] [-signal] name…

pstree
进程树

vmstat
5 每5s输出资源使用快照,mem,swap,IO

free
-m

du

tail
-f /var/log/messages 实时检测系统的好方法

mount

umount

变量

1.变量显示

set
显示环境变量/shell变量

printenv
USER 仅显示环境变量USER

echo
$USER

PATH=$PATH:$HOME/bin

export
PATH 保证shell子进程能使用PATH变量

gedit
file

2.变量扩展

ls -l $(which cp)

` ’ “区别

ls -l `which cp` 反引号` 等同于 $,作为命令替换

ls -l "my test.txt" 双引号""将特殊字符($ / `除外)视为普通字符

echo "$(cal) "

echo '$(cal)' 单引号‘’抑制所有扩展

$(cal)

echo "money \$:5" 反斜杠阻止双引号内特殊字符($ ! & 空格等)扩展

VIM命令

1.光标移动

shift ^ 本行开头

shift $ 本行末尾

W 下一个单词处

B 上一个单词处

number-shift-G 移到第number行

shift G 至文件最后一行

2.查找替换

:%s/word1/word2/gc
全局替换,%指代^~$

3.复制/粘贴/删除

4.编辑模式—插入

5.外部命令模式

:n 切换到下一文件

:N
切换到上一文件

软件安装

1.RPM安装

rpm -qa package 列出所有安装软件
q-query a-all

rpm -q packname 查询pack是否安装

2.源码安装

wget src

tar zxvf src.tar.gz

./configure

make

#make install

网络

ping baidu.com

netstat -ie 显示网卡信息

文件查找

locate fname 以文件名查找,无法查最新

find ~ [-print] | wc -l 计算行数

find ~ -type
f -name “*.jpg” -size
+1M | wc -l

find ~ \(-type f -not -perm 0600 \) -or \( -type
d -not -perm 0700 \) and默认,or显式

find ~ -type
f -name “*.jpg” -print/delete/ls

find ~ -type
f -name “*.jpg” -exec
ls -l '{}' ';'
每搜到一个执行一次命令

find ~ -type
f -name “*.jpg” -exec
ls -l '{}' '+'
结果集只执行一次命令

find ~ -type
f -name “*.jpg” -ok
ls -l '{}' ';' {}代表当前路径,-ok交互式执行自定义操作

find ~ -type
f -name “*.jpg” -print | xargs
ls -l xargs处理stdin信息并转化为命令输入参数表

find ~ -type
f -name “*.jpg” -print0 | xargs
--null ls -l
以空字符分隔参数

归档备份

1.压缩解压

gzip fname

gzip -tv f.gz 检查完整性/显示详细信息

gunzip fname

zcat f.gz |
less 查看压缩文件内容

bzip2同gzip 高压缩低速度

linux中gzip>bzip2>zip(用于与windows交换文件)

tar

tar mode[options] pathname
以 相对路径 处理处理
文件名路径

mode:

c create

x extract

r apppend

t list the contents
of an archive

tar cf file.tar path

tar tf file.tar

tar tvf file.tar

tar zxvf file.tar

find ~ -name 'file-a' | -exec tar
rf file.tar '{}' '+'

find ~ -name 'file-A' | tar czf play.tgz -T -

  1. -T tar命令从文件(此处为stdout文件)中读取文件路径名列表,而不是从命令行
  2. -
    代表标准输入输出stdin/stdout文件(这里是stdout文件,即屏幕所看到的内容)
  3. find默认action为-print
  4. 举例find play -name 'file-A' | tar czf play.tgz
    -T file.list

#cat file.list

./.profile

./.bashrc

./dbootstrap_settings

./usr.include.txt

./.viminfo

Regular Expresstion

支持命令find
locate vim less

grep [options] regex file…
#
查找匹配行

-i
忽略大小写

-v
输出不匹配行

-h不输出文件名,只输出匹配内容

BRE基本正则表达式元字符:(
)^ $ . * \为元字符)

ERE扩展正则表达式元字符:
+-*\ ()[]{} ^$ .| ? '
'
括起避免扩展,\为文字字符)

# grep -h '^zip' file

zip1

zip2

#grep -h 'zip$' file

1zip

2zip

# grep -h '^zip$' file

zip

grep -Eh '^(bz|gz|zip)' file

匹配电话号码(nnn)nnn-nnnn或nnn
nnn-nnnn表达式:

grep -E ===> egrep 扩展REG

egrep '^\(?[0-9]{3}\)? [0-9]{3}-[0-9]{4}$'
phone.txt #(,)出现01

find ~ -regex
'.[^-_./0-9a-zA-Z].*' findtest选项支持regex

locate --regex
'bin(bz|gz|zip)'

zgrep -El 'regex |
regular expression' . zgrep对压缩文件进行搜索

文本处理

排序

sort -t ';' -k
3.7nbr -k 4.1nbr file | uniq
| head

t为指定分割符;

-k 3.7nbr
第3个字段第7字符为关键字,忽略开头空白(b),逆序(r),数字排序(n)

uniq只对已排序文件有效

^I – 制表符Tab

截断

cat -A

cut -d ':' -f 1
/etc/passwd | head

paste data.txt version.txt

比较

cat f1 f2 逐行比较已排序文件f1,f2

diff -c f1 f2 上下文格式输出,+多,-少

diff -u f1 f2

diff -Naur fold fnew
> diff_file

patch < diff_file

-N, --new-file:treat
absent files as empty

-a: treat all files as text

-r : recursively compare any subdirectories found

替换删除tr

echo “i love linux” | tr
a-z A-Z 替换

tr -d '\r' <
dos_file > unix_file 删除dos文件回车符\r

sed 's/old/new/g

sed -n '1,5p' file

nl text 对文本行编号

p { margin-bottom: 0.1in; direction: ltr; color: #00000a; line-height: 120%; text-align: left; orphans: 0; widows: 0 }
p.western { font-size: 12pt }
p.cjk { font-size: 12pt }

Linux常用命令List的更多相关文章

  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. MINA、Netty、Twisted一起学(十一):SSL/TLS

    什么是SSL/TLS 不使用SSL/TLS的网络通信,一般都是明文传输,网络传输内容在传输过程中很容易被窃听甚至篡改,非常不安全.SSL/TLS协议就是为了解决这些安全问题而设计的.SSL/TLS协议 ...

  2. Sleeping会话导致阻塞原理(下)

    背景 最近给客户做优化时,有几个客户都存在.SLEEPING 会话中开启了事务,导致的大量阻塞,从而产生严重的性能问题.虽然在之前的文章我分享了Sleeping会话导致阻塞原理(上) .说明了什么是S ...

  3. Tinywebserver:一个简易的web服务器

    这是学习网络编程后写的一个练手的小程序,可以帮助复习I/O模型,epoll使用,线程池,HTTP协议等内容. 程序代码是基于<Linux高性能服务器编程>一书编写的. 首先回顾程序中的核心 ...

  4. Android Http请求头与响应头的学习

    本节引言: 上节中我们对Android涉及的网络编程进行了了解,也学习了下Http的基本概念,而本节我们 要学习的是Http的请求头与响应头,当然,可以把也可以把这节看作文档,用到的时候来查查 即可! ...

  5. MyBatis从入门到放弃四:一对多关联查询

    前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collection属性,别忽略了ofType属性. 搭建开发 ...

  6. linux中添加环境变量(python为例)

    最近想用Django搭建个人博客,之前学了些python基础语法,准备边学习Django边实战操作.自己有一个阿里云服务器,用的centOS,自带的是python2.7版本,我直接安装了python3 ...

  7. Java中代理对象的使用小结

    在某些情况下,一个客户不想或不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到了中介作用,这不仅仅使用代理模式,还可以实现适配器模式.装饰模式等. 代理对象内部含有对真实对象的引用,从而 ...

  8. Bat小试牛刀

    前天版本发布后同事才发现有点小瑕疵,当然这是前期的设计和测试没到位造成的.撇开这些不说,我想说的是知识面广一点,做起事情来可能更得心应手些. 大致是这样的,由于版本的迭代,导致发布的程序只能清除一部分 ...

  9. 11g R2 RAC启动关闭步骤

    1.关闭监听 /u01/app/11.2.0/grid/bin/srvctl stop listener -n redhat-rac01 /u01/app/11.2.0/grid/bin/srvctl ...

  10. jquery事件与绑定事件

    1.首先,我们来看一下经常使用的添加事件的方式: <input type="button" id="btn" value="click me!& ...