Linux基本操作


关机:

init0

shutdown -h now[ +55分钟后关机]

poweroff

halt

重启:

init 6

shutdown -r now[+5]

reboot

注销

logout

exit


查看CPU信息:cat /proc/cpuinfo

查看内存信息:cat /proc/meminfo | free

查看内核版本:uname { -r|-a }

查看系统版本:cat /etc/redhat-release

查看主机名:hostname


查看时间和日期

cal:显示日历

-y:显示整年日历


date:显示日期时间

-s:修改日期/时间

+:以指定格式显示,

%Y ()%m ()%d()%H()%M()


快捷键

tab键:补全

\:强制换行

Ctrl+L:清屏(clear)

Ctrl+C:撤销当前操作

Ctrl+A:跳至行首

Ctrl+E:调至行尾

Ctrl+U:清空至行首

Ctrl+K:清空至行尾


内部命令帮助:help

外部命令帮助:--help

查看帮助手册:man

(方向键上下翻页,q键退出,/键查找)


管道和重定向

|

管道,对输入的命令进行再次的操作

>>>

输出重定向,覆盖和追加

2>2>>

错误重定向

&>

输出重定向和错误重定向

<

输入重定向

命令替换符:` `

` `中的命令结果,替换为前面命令的选项或参数

转义符:\

如果命令参数中有空格,使用\代表是一个参数,而不是多个参数


echo显示输入内容

wget下载


录及文件操作

pwd显示当前所在目录

cd切换目录

/ :根目录

- :上次所在目录

. :当前目录

..:上一级目录

~ :宿主目录

~tom tom用户的宿主目录


显示目录内容

ls

-l:以长格式显示

-h:以人性化方式显示

-a[-A]:显示所有内容

-d:显示目录自身属性

-R:递归形式显示

--color:以颜色区分不同类型的文件

使用ls时可以结合通配符 * ?来表示



统计目录及文件的空间占用情况

du

-s:统计每个参数所占用空间总的大小

-h:以人性化方式显示

-a:统计所有文件

(-s-a不能同时使用)


创建目录

mkdir

-m=rwx:对新目录设置权限

-p:递归式创建


创建空文件

touch


创建链接

ln

-s:创建软链接

(目录只能创建软链接,硬链接必须在同一分区内创建)

格式:ln [-s] 源文件或目录 标文件或目录


复制

cp

-f:强制覆盖

-i:询问覆盖

-p-a:保持源文件属性不变

-r:递归复制目录

格式:cp 源文件或目录 目标文件或目录


移动

mv

(移动多个文件或目录时,目标位置必须是目录)

格式:mv 源文件或目录 目标文件或目录


删除

rm

-f:强制删除

-i:询问删除

-r:递归式删除目录


查找命令所在文置

which

-a:在所有搜索路径中查找,默认在$PATH变量中查找


查找文件或目录

find

-name:根据文件名查找,可结合通配符*

-size:根据文件大小查找,“+”“-”分别表示大于和小于

-user:根据文件属主查找

-type:根据文件类型查找,f(普通文件)d(目录)b(块设备文件)c(字符设备文件)

格式:find 查找范围 查找条件

查找条件可以同时具备多种,可使用-a(而且)-o(或者),前者表示同时满足所有条件,后者表示只需满足一个条件。

例:find / -size +10M -a -name *.txt

-exec 命令 {} \; 命令对查找结果执行再次操作

find / -name a.txt -exec ls -lh {} \;


文本处理

cat--显示文件内容

-n:显示列数

-b:显示列数,不计空行


分页显示文件内容

more

-n:建立n行的窗口


less--more的升级版


查看文件开头部分

head

-n:显示n行,默认10


查看文件结尾部分

tail

-n:显示n行,默认10

-f:动态跟踪文件更新


统计文件行数等信息

wc

-l:统计行数

-w:统计单词数

-c:统计字节数


筛选包含关键字的行

grep

-v:反向查找

-i:忽略大小写

"^...":以...开头

"...$":以...结尾

"^$":空行


对文本进行排序查看

sort

-r: 倒序排序

-n:基于数字排序

-f:忽略大小写

-u:删除重复行

-t c 使用c作为分割符为列进行排序

-k x 当进行基于指定字符分给为列的排序是时,指定基于那个列排序


基于列处理文本

cut

-d:指定分割符(默认是TAB

-f:指定输出的列号

-c:基于字符数进行切割

例:cut -d : -f 2 /etc/passwd

cut -c 2-6 /etc/passwd


文本比较

diff

-i:忽略大小写

-b:忽略空格

-u:统一显示比较信息


删除关键字

tr -d 'tmd' < a.txt

转换大小写

tr 'a-z' 'A-Z' < a.txt


搜索替换

sed 's/linux/windows/g' a.txt

-e:替换多项

sed-e ' s/nihao/hi/g' -e 's/jack/tom/g' a

-f:可以把替换项写入文件,然后引用

sed -f b.txt a.txt

(类似vi编辑器中的替换,也可以替换指定n-m行中内容)


压缩和打包

gzipbzip2 --压缩文件

-d:解压文件

gunzipbunzip2 --解压文件

例:gzip文件名


zipunzip --()压缩文件

压缩:zip a.txt.zip a.txt

解压:unzip a.txt.zip


归档和释档

tar

-C:指定释档路径

-c:创建.tar 格式的包文件

-x:解开.tar格式的包文件

-v:输出详细信息

-f:表示使用归档文件

-p:打包时保留原始文件及目录的权限

-t:列表查看包内的文件

-z:调用gzip

-j:调用bzip2

(-f在选项最后面;使用tar时可以指定文件的绝对路径)

格式:tar zcvf a.txt.tar.gz a.txt --打包压缩

tar zxvf a.txt.tar.gz -C /usr/src --解压缩


vi编辑器

三种工作模式:命令模式、输入模式、末行模式

命令模式切换到输入模式:a、i、o等键

ai:在光标后、光标前插入

AI:在光标所在行的行首、行尾插入

oO:在光标所在行后、前插入一行

命令模式切换到末行模式: :键

其它模式退出到命令行模式:Esc键

命令模式下的操作

áà

上、下、左、右

Page DownCtrl+F

向下翻动一整页内容

Page UpCtrl+B

向上翻动一整页内容

Home键或“^”、数字“0

跳转至行首

End键或“$”键

跳转到行尾

1G或者gg

跳转到文件的首行

G

跳转到文件的末尾行

#G

跳转到文件中的第#

:set nu

在编辑器中显示行号

:set nonu

取消编辑器中的行号显示

xDel

剪切光标处的单个字符

dd#dd

剪切当前光标所在行、#行内容

d^ d$

剪切当前光标之前到行首、行尾的所有字符

yy#yy

复制当前行、#行内容

pP

粘贴到光标位置处之后、之前

u U

撤销

/?

在文件中查找

nN

定位下一个、上一个匹配的结果

ZZ

保存并退出

末行模式下的操作

:w

保存

:w /root/newfile

另存为

:q

未修改退出

:q!

强制退出

:wq:x

保存并退出

:e

不退出当前打开另一文件

:r

导入另一文件中内容

: syntax { on | off }

文本是否高亮显示

:set nu|:setnonu

是否显示行号

内容替换

:替换范围s/被替换的内容/替换后的内容/g

替换范围

%:表示整个文件

n,m:文件的第nm

/g:表示替换每行中所有的匹配项,省略只替换第一个匹配项


别名记录

alias --查看别名记录

alias'myls=ls-lh' --设置别名

(系统重启后失效,可以写在~/.bashrc等文件中)


命令历史

~/.bash_history --配置文件

查看命令历史

history

-c:清空命令历史

设置命令历史保存的数量

HISTSIZE=50

调用命令历史

!vi (vi为之前使用过命令的开头部分)

!n (n为命令在命令历史中的序号)


设备转换和复制

dd if=/dev/zero of=/boot/a bs=1M count=4

if:复制来源

of:复制目标

bs:每次复制的大小

count:复制的次数