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

 

如果你觉得博文写的不错,就点下【推荐一下】或【打赏】卤煮一杯奶茶吧!!!

posted @ 2016-06-02 14:29  Answer.AI.L  阅读(380)  评论(0编辑  收藏  举报