Linux常用命令List
参考《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 -
- -T tar命令从文件(此处为stdout文件)中读取文件路径名列表,而不是从命令行
- -
代表标准输入输出stdin/stdout文件(这里是stdout文件,即屏幕所看到的内容) - find默认action为-print
- 举例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 #(,)出现0或1次
find ~ -regex
'.[^-_./0-9a-zA-Z].*' find之test选项支持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的更多相关文章
- Linux常用命令(一)
Linux常用命令 1. pwd查看当前路径(Print Working Directory) [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...
- linux常用命令的介绍
本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...
- linux——常用命令与脚本
linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...
- DOS 和 Linux 常用命令的对比
DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...
- 第一章,Linux常用命令
20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
- Linux 常用命令行
Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- 对于我的linux常用命令的说明
我所列出的linux常用命令中的选项并不是全部的选项,是一些我们经常用到的linux命令及选项
- Linux 常用命令笔记
Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...
随机推荐
- 业务逻辑 : 未完 : easybook.com
Content>social media facebook, twitter, google+, instagram, pinterest (Question : How to update n ...
- eclipse中注释常用关键字
关键词列表: @author 作者名 @date 日期 @version 版本标识 @parameter 参数及其意义 @since 最早使用该方法/类/接口的JDK版本 @return 返回值 @t ...
- echarts动态添加数据(饼图为例)
$.ajax({type : "POST",async : false,url : '${ctx}/basic/bsAllPictureGuarantee/pictJson',da ...
- Ubuntu下安装Redis并实现远程访问
之前的一篇随笔写到Redis在Windows下的安装,但目前好多大数据处理的服务是在Linux上的,所以想以Redis为例并实现在Windows上利用C#代码远程访问. 以在Ubuntu下为例,步骤如 ...
- 北邮OJ
90. 字符串转换 时间限制 1000 ms 内存限制 65536 KB 题目描述 我们将仅由若干个同一小写字母构成的字符串称之为简单串,例如"aaaa"是一个简单串,而" ...
- perl 之eval
eval是个表达式,语句末尾有一个分号, 发现在它的监视范围内出现致命错误,会立即停止运行整个块,退出后继续运行其 余的代码 eval的返回值就是语句块最后一条表达式的执行结果 eval非正常 ...
- Maximum Depth of Binary Tree leetcode
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- 基于 Koa平台Node.js开发的KoaHub.js获取/设置会话功能代码
koa-session2 Middleware for Koa2 to get/set session use with custom stores such as Redis or mongodb ...
- Java线程池ExecutorService
开篇前,我们先来看看不使用线程池的情况: new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override ...
- js数组,字符串常用方法汇总(面试必备)
字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. 2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . 3.ch ...