新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Linux常用的命令可以分为以下几类:安装和登录命令、文件处理命令、系统管理相关命令、网络操作命令、系统安全相关命令、其它命令。
目前成都创新互联公司已为上千的企业提供了网站建设、域名、雅安服务器托管、网站托管、企业网站设计、陆川网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。
它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
more是从UNIX系统中延续下来的(功能稍弱,这个命令是为了提供对UNIX的兼容性),而less是Linux自有的。它们的差别也可以从命令名看出来:
more可以读取一个较大的文本文件,分屏显示到标准输出上,并可以向下翻页(更多);
less可以读取一个较大的文本文件,分屏显示到标准输出上,并可以向下、向上翻页(更少);
乱码跟这两个命令没关系,可能的原因是:文件中有系统不支持的字符。控制字符自然是没法显示的,在不支持中文的终端下,中文字符自然也会是乱码。
redhat linux的命令
一. 启动,关机,登入,登出相关命令
login 登录
logout 登出
exit 登出
shutdown 停止系统
halt 停止系统
reboot 重启动
poweroff 切断电源
sync 把内存里的内容写入磁盘
lilo 安装lilo启动管理程序
grub 安装lilo启动管理程序
二. Shell相关命令
chsh 切换Shell
history 显示命令履历
alias 设置命令别名
unalias 取消命令别名
which 显示命令所在位置
type 查询命令种类
echo 显示字符串或者变量内容
set 设置/显示Shell变量
printenv 显示环境变量
export 设置环境变量
env 设置临时环境变量
unset 释放环境变量
setenv 设置环境变量
unsetenv 释放环境变量
source 执行文件当中的命令
man 查询命令手册
info 查询超文本命令手册
whatis 显示命令简介
apropos 通过关键字查询手册
三. 用户管理相关命令
su 切换到其他用户
useradd 追加用户
adduser 追加用户
userdel 删除用户
usermod 修改用户设置
chfn 修改用户私人信息
groupadd 追加组
groupdel 删除组
groupmod 修改组设置
passwd 更改密码
whoami 显示用户名
logname 显示登录用户帐号
users 显示所有登录用户信息
who 查询登录用户信息
w 查询登录用户信息
id 显示指定用户的ID信息
groups 显示指定用户的所属组
finger 显示指定用户的个人信息
mesg 开关与他人收发消息
write 给其他用户发消息
wall 给所有用户发消息
talk 和其他用户聊天
四. 系统消息相关命令
date 显示/设置当前时间
uptime 显示系统运行时间
arch 显示机器的核心构架(如i386)
uname 显示操作系统信息
tty 显示终端名
last 显示登录/登出在履历
lastb 显示非法登录信息
dumpkeys 显示当前键盘配置
loadkeys 变更键盘配置
df 查询磁盘使用信息
du 查询磁盘使用信息
dmesg 显示系统启动消息
script 保存输入输出到文件
五. 文件操作相关命令
ls 显示文件列表
tree 显示目录树
pwd 显示当前路径
cd 更改当前路径
pushd 追加路径到目录堆栈
popd 从目录堆栈删除路径
dirs 显示目录堆栈的内容
mkdir 创建路径
rmdir 删除路径
cp 复制文件/目录
rm 删除文件/目录
mv 移动文件/目录,修改文件名
chown 更改文件/目录的所有者
chgrp 修改文件/目录的所有组
chmod 修改文件/目录的权限
touch 更改文件时间
ln 建立文件/目录链接
find 查找文件
whereis 显示文件存在的路径名
file 查询文件种类
size 查询文件大小
六. 文件编辑相关命令
cat 显示文件内容
tee 输出到文件和屏幕
more 分屏显示文件内容
less 分屏显示文件内容
head 显示文件头部内容
tail 显示文件尾部内容
fold 折叠显示长行
sort 排列文件的行
cmp 比较文件内容
diff 显示文件差异
nkf 更改日语文件编码
dd 变更文件之后复制
wc 统计文本单词数,文件大小等
split 分割文件
paste 以行连接文件
join 以字段连接文件
grep 查询文字
uniq 过滤重复部分显示文件内容
tr 替换文字
sed 替换文字
七. 压缩/解压缩相关命令
ar 压缩/解压缩文件
tar 压缩/解压缩文件
compress 压缩/解压缩文件
uncompress 解压缩
gzip 压缩/解压缩文件
gunzip 解压缩
zcat 显示压缩文件的内容
lha 压缩/解压缩文件
uuencode 把二进制文件编码为文本文件
uudecode 把经过编码的文本文件还原为二进制文件
八. MS-DOS工具集[mtools]命令
mdir 显示文件列表
mcd 改变当前目录
mmd 新建目录
mrd 删除目录
mdeltree 删除目录树
mcopy 复制文件
mdel 删除文件
mmove 移动文件
mren 更改文件或目录名
mattrib 修改文件属性
mtype 显示文件内容
mdu 查询文件或目录大小
minfo 显示磁盘信息
mformat 以MS-DOS方式格式化磁盘
mlabel 设置磁盘标签
九. 控制外部设备相关命令
mount mount上设备
umount 解除已经mount上的设备
eject 弹出(CD/DVD等)
fdformat 格式化软盘
fdisk 配置/显示硬盘分区
mkfs 格式化磁盘分区
fsck 检查/修复磁盘错误
lpr 打印到打印机
lprm 中断打印任务
lpq 显示打印任务的状态
lpc 管理/控制打印任务
ifconfig 显示/设定NIC配置
十. 进程及任务管理相关命令
ps 显示正在运行的进程
jobs 显示后台运行任务
fg 把任务切换到前台
bg 把任务切换到后台
kill 中止进程或任务
killall 中止进程或任务
wait 等待进程或任务的结束
at 设置定时执行任务
atq 显示尚未执行的任务
atrm 删除定时执行任务
batch 在系统负荷减轻的时候执行任务
nice 改变优先度并执行任务
nohup 在后台执行任务,Logout之后也不退出
sleep 休眠一定的时间
十一. 网络管理相关命令
netstat 显示当前网络连接状况
route 显示/设置路由
host 显示网络主机情况
hostname 显示/设置当前主机的名字
ping 确认和远程机器的连接情况
traceroute 显示路由信息
rwho 查询网上机器的登陆用户
ruptime 查询网上机器的系统运行时间
rlogin 登陆到远程机器
telnet 用telnet登陆到远程机器
rsh 给远程机器发送命令
rcp 在远程机器之间复制文件
mail 收取邮件
sendmail 发送邮件
mailq 确认邮件队列
ftp 用ftp传输文件
十二. 其他命令
cal 显示日历
clear 清屏
gcc 编译C语言代码
as 汇编
bc 计算
rpm Redhat的包管理
dpkg Debian的包管理
installpkg Slackware的包安装(删除命令则是removepkg)
XF86Setup,turboxfg,Xconfigurator 配置 X 服务器
startx 启动 X-Window 系统
附:组合命令
重定向,如
$ ls -l /bin ls-output
$ more ls-output
管道命令,如
$ cat file1 file2 | sort | uniq
经常被用于管道的命令
awk, fold, grep, head, nnkf, pr, sed, sort, tail, tee, tr, uniq, wc
很多了
利用反引号的这种功能可以进行命令置换,即把反引号括起来的执行结果赋值给指定变量。例如:
$
today=`date`
$
echo
Today
is
$today
Today
is
Mon
Apr
15
16:20:13
CST
1999
$
反引号还可以嵌套使用。但需注意,嵌套使用时内层的反引号必须用反斜线()将其转义。例如:
$
abc=`echo
The
number
of
users
is
`who|
wc-l``
$
echo
$abc
The
number
of
users
is
5
$
在反引号之间的命令行中也可以使用shell的特殊字符。Shell为得到``中命令的结果,它实际上要去执行``中指定的命令。执行时,命令中的特殊字符,如$,”,?等又将具有特殊含义,并且``所包含的可以是任何一个合法的Shell命令,如:
$
ls
note
readme.txt
Notice
Unix.dir
$
TestString=”`echo
$HOME
`
`
ls
[nN]*`”
$
echo
$TestString
/home/yxz
note
Notice
$
其他情况,读者可自行试之。
1.
注释符
在shell编程中经常要对某些正文行进行注释,以增加程序的可读性。在Shell中以字符“#”开头的正文行表示注释行。
此外还有一些特殊字符如:用于输入/输出重定向与管道的、、、
和|;执行后台命令的;命令执行操作符和||及表示命令组的{}将在下面各小节中加以介绍。
标准输入/输出和重定向
1.
标准输入与输出
我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
我们以cat命令为例,cat命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。若使用如下命令:
$
cat
config
将会把文件config的内容依次显示到屏幕上。但是,如果cat的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:
$
cat
Hello
world
Hello
world
Bye
Bye
ctrl+d
$
用户输入的每一行都立刻被cat命令输出到屏幕上。
另一个例子,命令sort按行读入文件正文(当命令行中没有给出文件名时,表示从标准输入读入),将其排序,并将结果送到标准输出。下面的例子是从标准输入读入一个采购单,并将其排序。
$
sort
bananas
carrots
apples
ctrl+d
apples
bananas
carrots
$
这时我们在屏幕上得到了已排序的采购单。
直接使用标准输入/输出文件存在以下问题:
输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。
输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。
为了解决上述问题,Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。
linux基本命令:(其他的太多了,自己去百度吧)
ls:
-l:显示详细信息
-a:显示隐藏文件和其他所有文件(以.开头的为隐藏文件)
-t:安时间排序
-h:以KB MB 等单位显示
-d:只列出目录名,不列出其他内容
-R:递归显示所有目录及子目录
-lath:选项可以合并
pwd:显示当前所在位置
cd:转换目录
cd ..:返回上一级目录
cd -:回到上一次操作的目录
mkdir: 建目录
-v:显示所建目录,相同可用{}:mkdir -v dir{1,2,3}
-p:创建多级目录
rmdir:删除空目录
rm:删除
-f:强制删除无提示
-r:可删除目录
mv:移动 重命名
touch:建立空文件
file:验证文件或目录的类型
cp:复制,粘贴 (copy)改名
cp 原文件 目标文件
-r:可复制目录
ssh 192.168.1.33 远程登录
跨机拷贝:scp -r /root/Server/ 192.168.1.253:/dcw
man 命令:帮助
alias:查看是否有别名
去掉别名用完整路径
eg:
#which cp
#/bin/cp a.text b.text 或 \cp a.text b.text
或 在 /root/.bashrc 中去掉#alias cp='cp -i',后#unalias cp
查看某文件前4行内容并显示文件路径和文件名
[/usr/local/nagios]#ls /etc/vsftpd/vsftpd.conf head -n 4 /etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
linux tee 命令详解
功能说明:读取标准输入的数据,并将其内容输出成文件。
语法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
参数:
-a或--append 附加到既有文件的后面,而非覆盖它.
-i-i或--ignore-interrupts 忽略中断信号。
--help 在线帮助。
--version 显示版本信息。
cat /etc/sysconfig/network
-n:查看行号信息
more:空格翻页 回车换行
less:上下键翻页 可以反复看(可以回翻页)
head:显示前几行
head -5 install.log 显示前5行
tail:显示后几行
tail -f 动态更新
grep:查看文件中包含关键字的一行
#grep --color=tty dump intstall.log 彩色显示
正则表达式:^root 以root为开头(^)
root$,以root结尾($)
-v:不包括的几行(取反)
grep -n -v ^# /etc/vsftpd/vsftpd.conf
:r /root/install.log 追加读入一个文件
:e 读入文件
:e! 重新读入
:q 不保存 :q!强制退出
:w 保存 :qw保存退出 :wq! 强制保存退出
在未写入状态时:
h 左 k 上 j下 l 右
shift+4($) 光标移到行尾 shift+6(^) 光标移到行头
:50 来到50行
#vim /root/install.log +50(n)来到50行
:set nu 显示行号
:set nonu 取消行号
shift+g 来到行尾
n(无显示)+G:直接来到n行
shift+a:自动来到行尾输入
:50,100 w bb.txt 保存50到100行的内容到bb.txt中
r :替换单个字符 R:替换全行
shift+o:向上插入 o:向下插入
yy 复制 p 粘贴
(n)2yy 复制前两行
y^:复制从光标位置到开头 y$:复制从光标位置到结尾
d:剪贴一行
dd:剪贴两行
ndd:多行
d^:剪贴到开头 d$:剪贴到结尾
:g/^$/d 去掉空行
:g/^\s*$/d 去空格
向左移动25个字符:25+l
:/ 查找 自上而下
:? 查找自下而上
n 下一个
替换:
:s/old/new 把旧的换为新的 单个
:s/old/new/g 整行替换
:%s/old/new/g 整个文件替换
:%s/old/new/gc 整个文件替换并询问
u:替换上次命令
ctrl+r 重做
ctrl+^ 两个切换
打开多个文件
vim a.txt b.txt c.txt
:args 可选
:next
:prev
:last
vim diff a.txt b.txt
ctrl+w+w 跳到第二个文件
:wqa
使用vimtutor工具联系vim使用。
vimtutor工具使用方法:
vimtutor zh
如果出现乱马,使用下面命令解决(只能执行一次)
cd /usr/share/vim/vim70/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f gb2312 -t utf-8 tutor.zh.euc.bak tutor.zh.euc
vimtutor zh
locate :空间换时间
updatedb
locate passwd
find [路径] [参数] [表达式]
find /usr/share/doc -name filename
-user:根据文件拥有者寻找文件
-group:根据文件所属组寻找文件
-name:根据文件名寻找文件
-perm:根据文件权限寻找
-size:根据文件大小寻找
-type:根据文件类型寻找文件,参数对应c b l f d
find 的表达式使用通配符时需要使用“”圈界
find 目录 条件 条件
[root@localhost ~]# find / -name "pass*"
当前目录:.
find . -name "*ss*"
find . -type f(文件)
find . -type d(目录)
[root@localhost ~]# find . -nouser(文件无属主)
[root@localhost ~]# find . -nogroup(文件无属组)
[root@localhost ~]# find /home/ -user/group user1
-exec
[root@localhost ~]# find . -nouser -exec rm {} \;
{}代表文件和目录
\转义字符
-ok
find . -nogroup -ok rm -rf {} \;有提示删除
[root@localhost ~]# stat a
File: “a”
Size: 0 Blocks: 0 IO Block: 4096 一般空文件
Device: 803h/2051d Inode: 261796 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-04-02 14:23:25.000000000 +0800(创建时间:-atime)
Modify: 2011-04-02 14:23:25.000000000 +0800(修改时间:-mtime)
Change: 2011-04-02 14:23:25.000000000 +0800(改变属组属主会变:-ctime)
find /root -mtime -5(5天以内) 5(5天时) +5(5天前)
find . -perm 400:要求权限全部匹配,精确匹配
find . -perm +600(wr):有w,r中任意权限的都会列出,即会列出200 400 600 的权限
find . -perm -600 :要求权限完全满足 权限大于等于600
-name -type
-name -user
-perm -type
-nouser
-nogroup
-mtime
-exec
-ok
-rgex(正则表达式)
学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令。下面由我为大家整理了Linux系统常用的基本命令入门篇,希望对大家有帮助!
Linux系统常用的基本命令入门篇一、基础命令
1.Linu x的进 入与退出系统
进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。
用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。
当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:
[root@loclhost/root] #
这时就可以对系统做各种操作了。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo;。
2.修改口令
为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。
3.虚拟控制台
Linux是一个真正的多用户 操作系统 ,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。
退出系统
不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。
4.查看命令帮助信息
man命令
man命令用于查询命令和程序的使用 方法 和参数。
例如:
man ls
将显示ls命令的基本格式和使用方法
Linux系统常用的基本命令入门篇二、关机重启命令
首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到
reboot 一般不跟参数使用,输入指令即可重启
shutdown 一般需要跟参数,例:
shutdown -r 延时多少分钟重启,一般使用now
shutdown -r now 立即重启
shutdown -f 强制重启
跟windows一样,linux也存在注销功能
exit
1)halt
halt 可不接参数
halt -f 强制关机
2)poweroff
poweroff 可不接参数使用
poweroff -f 强制关机
3)init 0
4)shutdown 不可单独使用
shutdown -h 分钟数 延时多久关机
shutdown -h now 立即关机
Linux系统常用的基本命令入门篇三、vi编辑
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用ldquo;escrdquo;键,从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入。常用内置命令如下:
1 Ctrl+u:向文件首翻半屏;
2 Ctrl+d:向文件尾翻半屏;
3 Ctrl+f:向文件尾翻一屏;
4 Ctrl+b:向文件首翻一屏;
5 Esc:从编辑模式切换到命令模式;
6 ZZ:命令模式下保存当前文件所做的修改后退出vi;
7 :行号:光标跳转到指定行的行首;
8 :$:光标跳转到最后一行的行首;
9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;
10 D:删除从当前光标到光标所在行尾的全部字符;
11 dd:删除光标行正行内容;
12 ndd:删除当前行及其后n-1行;
13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,ldquo;s/rdquo;表示进行替换操作;
19 a:在当前字符后添加文本;
20 A:在行末添加文本;
21 i:在当前字符前插入文本;
22 I:在行首插入文本;
23 o:在当前行后面插入一空行;
24 O:在当前行前面插入一空行;
25 :wq:在命令模式下,执行存盘退出操作;
26 :w:在命令模式下,执行存盘操作;
27 :w!:在命令模式下,执行强制存盘操作;
28 :q:在命令模式下,执行退出vi操作;
29 :q!:在命令模式下,执行强制退出vi操作;
30 :e文件名:在命令模式下,打开并编辑指定名称的文件;
31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
33 :set nu:在命令模式下,用于在最左端显示行号;
34 :set nonu:在命令模式下,用于在最左端不显示行号;
35 :1,3y 复制第一行到第三行
36 :1,3d 删除第一行到第三行
37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串
38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
Linux常用命令一、查询相关
find
按规则查找某个文件或文件夹,包括子目录
find . -name '_sh' -- 以.sh结尾的文件
find . -name '_hannel_ -- 包含channel字符的文件
find . -name 'build_ -- 以build开头的文件
find . -name 'abc??' -- abc后面有两个字符的文件
grep
查找内容包含指定的范本样式的文件,Global Regular Expression Print
grep -n pattern files -- 规则 -n表示显示行号
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方
grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号
ps -e | grep java -- 所有java进程
ps -e | grep -i qq --所有qq进程,不区分大小写
find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方
ls | grep 'channel' -- 包含channel关键字的文件
which
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
tail -f test.log,循环查看文件内容,Ctrl+c来终止
tail -n 5 test.log,显示文件最后5行内容
tail -n +5 test.log,从第5行开始显示文件
more
more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
more +3 test.log,显示文件中从第3行起的内容
more -5 test.log,设定每屏显示行数
ls -l | more -5,每页显示5个文件信息
more +/day3 test.log,查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出
less
less [options] [file...]
与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
less test.log,查看文件
ps -ef | less,查看进程信息并通过less分页显示
history | less,查看命令历史使用记录并通过less分页显示
less test1.log test2.log,浏览多个文件,n和p切换文件
watch
watch [options] command
每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变
watch -n 60 date,执行date命令每分钟一次,输入^C 退出
watch -d ls -l,查看目录变化
watch -d rsquo;ls -l | fgrep joersquo;,想找joe用户的文件
watch -d 'ls -l|grep scf',监测当前目录中 scf' 的文件的变化
watch -n 10 'cat /proc/loadavg',10秒一次输出系统的平均负载
watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化
watch -n 1 -d 'pstree | grep http',每隔一秒高亮显示http链接数的变化
Linux常用命令三、文件相关
vi
vi file
按i键,进入编辑模式
按esc键,进入命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
chmod
change mode,变更文件或目录的读、写、运行权限
chmod [-cfvR] [--help] [--version] mode file...
mode:权限设定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1
chmod 777 file,等同于 chmod a=rwx file
chmod ug=rwx,o=x file,等同于 chmod 771 file
chmod 4755 filename,可使此程序具有root的权限
ls -l 可以查看列出当前用户的文件权限
zip
zip -r filename.zip filesdir
zip -r test.zip ./_把当前所有文件压缩到test.zip
zip -r test.zip test,把test文件所有文件及目录,要是到test.zip
zip -d test.zip test.txt,删除压缩文件中test.txt文件
zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件
zip -r test.zip file1 file2 file3 filesdir,处理多个文件和目录,空格隔开
unzip
unzip zip-file,解压到当前目录
unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录
unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件
unzip -n -d dst-dir zip-file,解压到指定的目录,不覆盖已经原有的文件
unzip -o -d dst-dir zip-file,-o不必先询问用户覆盖原有文件
unzip -l zip-file,仅查看压缩文件内所包含的文件
tar
tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test,把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz,把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在 显示器 上
tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录
touch