Linux常用指令汇总
/ :代表根目录
. :代表当前目录,也可用./来表示
.. :代表上一层目录,也可用../来表示
~ :目前使用用户所在的根目录
一、基本指令操作
cd :变换目录
pwd (显示当前的目录)
pwd -P
-P :显示出确实的路径,而非使用连结(link)的路径
env :查看系统环境变量
date(日期命令)
格式化输出日期 :date +%Y/%m/%d-%H:%M:%S
cal(日历命令)
显示日历 :cal
显示指定年份日历 :cal 2016
显示指定年份的指定月份日历 :cal 6 2016
bc
简单的计算器 :bc
man
man指令用于查看指令的用法
如:查看ls指令的用法 :man ls
chgrp
chgrp :改变档案所属群组,系统组信息在/etc/group
EG :chgrp oinstall LINJM.LOG
chown
chown :改变档案所属人,系统用户信息在/etc/passwd
EG:chown jimly LINJM.LOG
也可以同时改变档案的所属人和所属群组:
chown jimly:oinstall LINJM.LOG
chmod
chmod :改变档案的属性、SUID等等特性
EG:chmod 755 LINJM.LOG或chmod u=rwx,go=rx LINJM.LOG
chmod a=rx LINJM.LOG
所有的都减去x权限 :chmod a-x LINJM.LOG
所有的都加上x权限 :chmod a+x LINJM.LOG
r(读) :4 w(写) :2 x(执行) :1
u :user g :group o :other a :all
+ :加入 - :除去 = :设定
chgrp chown chmod -R
用-R来递归
ctrl + s :暂停屏幕的输出
ctrl + q :恢复屏幕的输出
ctrl + u :将光标前的字符删除
将ls -l /home/test/输出的结果存储在menu.txt文件中:
ls -l /home/test/ > /home/test/menu.txt
使用>>会在menu.txt上累加内容,使用>则是先清空文件内容后再追加内容
ls -l /home/test/ >> /home/test/menu.txt
将输出的错误结果存储在error.txt文件中:
find /home -name test 2> /home/fnc/error.txt
将输出的正确结果存储在right.txt文件中:
find /home -name test 1> /home/fnc/right.txt
将正确和错误的信息全写进output.txt文件中:
find /home -name test > /home/fnc/output.txt 2>&1
|(管道指令)
查看etc目录下的文件信息,通过less来前后翻动信息:
ls -al /etc | less
附:less中用d来向下翻页,用u来向上翻页
用shift+g来调至页末,用p来调至页首
用?来向上查询,用/来向下查询
查找时用n来继续下一个搜寻,用N来反向(向上)搜寻
用q来结束这次的less
grep(检索命令)
grep -acinv 关键字
-c 计算搜索到字符串的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择,显示出没有'搜索字符串'内容的那一行
EG :cat linjm.txt |grep -ne "hello world" -e "hello lin"
当有多个检索关键字时,需用到-e
wc
wc -lwm
-l 仅列出行
-w 仅列出多少字
-m 多少字符
cut
cut -dfc
-d 后面接分隔符,与-f一起使用
-f 依据-d的分隔符将一段信息分割成数段,用-f取出第几段的信息
-c 以字符的单位取出固定字符区间
查看磁盘容量信息 :df -h
ln
ln -sf 来源文件 目标文件
-s :加了-s就是软连接(Symbolic link),没加则为硬连接(hard link)
-f :如果目标文件存在,则将目标文件移除后再建立
mkdir(建立一个新的目录)
mkdir -mp 目录名称
-m : 设定档案的权限
-p :将所需要的目录递归建立起来
EG :mkdir -m 777 world
mkdir -p lin/jm
rmdir(删除一个空的目录)
rmdir 目录名称 用于删除空目录
非空目录删除用rm -rf lin
rm(删除)
rm -fir 档案或目录
-f :force,强制移除
-i :在删除前会询问使用者是否动作
-r :递归删除
mv(移动)
mv -fiu source destination
-f :强制移动而不询问
-i :若目标档案(destination)已经存在时,就会询问是否覆盖
-u :若目标档案已经存在,且source比较新,才会更新
rename(重命名)
rename oldname newname filename
EG :rename menu log menu.txt
cp(复制)
cp -adfilprsu 来源档(source) 目的档(destination)
cp source1 source2 ...... directory
-a :相当于-pdr的意思
-d :若来源文件为连接文件的属性(link file),则复制连接文件属性而非档案本身
-f :强制复制,若有重复或其他疑问时,不会询问使用者,而强制复制
-l :若destionation已经存在时,在覆盖时会先询问是否真的动作
-p :进行硬式连接(hard link),而非复制档案本身
-r :连同档案的属性一起复制过去
-s :复制成为符号连接文件(symbolic link),亦即快捷方式档案
-u :若destionation比source旧,才更新destionation
EG :cp LINJM.LOG log.txt lin/
注意 :若来源档有两个以上,则最后一个目的文件一定要是目录才行
ls(检视)
ls -aAdfFhilRS 目录名称
ls --color={none, auto, always} 目录名称
ls --full-time 目录名称
-a :全部的档案,连同隐藏档(开头为.的档案)一起列出来
-A :全部的档案,连同隐藏档,但不包括.和..这两个目录,一起列出来
-d :仅列出目录本身,而不是列出目录内的档案数据
-f :直接列出结果,而不进行排序(ls预设会以档名排序)
-F :根据档案、目录等信息,给予附加数据结构,例如:
* :代表可执行档; / :代表目录; = :代表 socket 档案; | :代表 FIFO 档案;
-h :将档案容量以人类较易读的方式(例如 GB,KB 等等)列出来;
-i :列出 inode 位置,而非列出档案属性
-l :长数据串行出,包含档案的属性等等数据
-n :列出 UID 与 GID 而非使用者与群组的名称 (UID 与 GID 会在账号管理提到!)
-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小
-R :连同子目录内容一起列出来
-S :以档案容量大小排序
-t :依时间排序
--color=never :不要依据档案特性给予颜色显示;
--color=always :显示颜色
--color=auto :让系统自行依据设定来判断是否给予颜色
--full-time :以完整时间模式 (包含年、月、日、时、分) 输出
--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)
而非内容变更时间 (modification time)
which
which -a 命令名称 用来查看可执行文件的位置
-a :将所有可以找到的指令均列出,而不止第一个被找到的指令名称
EG :which ls
档案内容查阅:
cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
od 以二进制的方式读取档案内容!
cat
cat -AEnTv 档案名
-A :相当于 -vET 的整合参数,可列出一些特殊字符~
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
nl
nl -bnw 档案名
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号;
-b t :如果有空行,空的那一行不要列出行号;
-n :列出行号表示的方法,主要有三种:
-n ln :行号在屏幕的最左方显示;
-n rn :行号在自己字段的最右方显示,且不加 0 ;
-n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段的占用的位数。
head(取出前面几行)
head -n number 档案名
-n :后面接数字,代表显示几行的意思
EG :head -n 10 menu.txt
tail(取出后面几行)
tail -n number 档案名
-n :后面接数字,代表显示几行的意思
EG :tail -n 10 menu.txt
find(搜索命令)
find path options file
EG :find /home/ -name log.txt
find /home/test/ -size 4k 注:等于4k
find /home/test/ -size -4k 注:小于4k
find /home/test/ -size +4k 注:大于4k
当前目录:find . -name 20160526*
指定目录 find /home -name 20160526*
忽略大小写:find . -iname orainventory
查找当前目录下以dmp结尾或log结尾:find . -name *.dmp -o -name *.log
查找当前目录下不是以html结尾的:find . ! -name *.html
查找大于10M的文件:find . -type f -size +10M
查找等于于10M的文件:find . -type f -size 10M
查找小于10M的文件:find . -type f -size -10M
(b块:512字节 c字节 w字:2字节 k千字节 M兆字节 G吉字节)
-type f f普通文件 d目录
向下最大深度限制为3:find . -maxdepth 6 -type f -size +10M
从向下深度9开始查找:find . -mindepth 9 -type f -size +10M
二、VI文字处理器
vi(编辑文档)
vi 档案名
EG :vi log.txt
i :进入编辑模式
ESC :在编辑模式按ESC进入一般模式
一般模式下:
H :光标移动到这个屏幕的最上方那一行
M :光标移动到这个屏幕的中央那一行
L :光标移动到这个屏幕的最下方那一行
0 :这是数字0:移动到这一行的最前面字符处
n space :n是数字,space是空格,将光标后移n个字符距离
$ :将光标移至当前行的末尾
G :将光标移至档案的最后一行
nG :n是数字,将光标移至档案的第n行
gg:将光标移动到档案的第一行,相当于1G
n Enter :n为数字,将光标向下移动n行
/word :向光标之下搜索word关键字信息
?word :向光标之上搜索word关键字信息
n :向下继续检索 N :向上继续检索
u :撤销
:w filenam :将编辑的数据存储为另一个档案,档案名filename
:r filename :写入另一个档案的数据,即将filename这个档案的内容追加到光标所在的行后面
:n1,n2 w filename :将第n1行到n2行的数据写入另一个文档,文档名为filename
:set nu :在文档中显示行号
:set nonu :取消文档中显示的行号
:q :退出文档编辑
:q! :退出文档编辑,且不保存修改信息
:wq :退出文档编辑且保存修改信息
:wq! :强制退出,强制保存修改信息
:e! :将文档还原到最原始的状态
ctrl + d :向下移动半页
ctrl + u :向上移动半页
ctrl + f :向下移动一页
ctrl + b :向上移动一页
三、打包与解包
.tar
解包 :tar xvf FileName.tar
打包 :tar cvf FileName.tar DirName
(注 :tar是打包,不是压缩!)
.gz
解压1 :gunzip FileName.gz
解压2 :gzip -d FileName.gz
压缩 :gzip FileName
.tar.gz 和 .tgz
解压 :tar zxvf FileName.tar.gz
压缩 :tar zcvf FileName.tar.gz DirName
.bz2
解压1 :bzip2 -d FileName.bz2
解压2 :bunzip2 FileName.bz2
压缩 :bzip2 -z FileName
.tar.bz2
解压 :tar jxvf FileName.tar.bz2
压缩 :tar jcvf FileName.tar.bz2 DirName
.Z
解压 :tar Zxvf FileName.tar.Z
压缩 :tar Zcvf FileName.tar.Z DirName
关闭防火墙 :service iptables stop
重启网卡 :service network restart
修改主机名 :cat /etc/sysconfig/network
查看linux版本信息 :more /proc/version
如果你觉得博文写的不错,就点下【推荐一下】或【打赏】卤煮一杯奶茶吧!!!