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行中内容)
压缩和打包
gzip、bzip2 --压缩文件
-d:解压文件
gunzip、bunzip2 --解压文件
例:gzip文件名
zip、unzip --(解)压缩文件
压缩: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等键
a、i:在光标后、光标前插入
A、I:在光标所在行的行首、行尾插入
o、O:在光标所在行后、前插入一行
命令模式切换到末行模式: :键
其它模式退出到命令行模式:Esc键
命令模式下的操作
á、、、à | 上、下、左、右 |
Page Down或Ctrl+F | 向下翻动一整页内容 |
Page Up或Ctrl+B | 向上翻动一整页内容 |
Home键或“^”、数字“0” | 跳转至行首 |
End键或“$”键 | 跳转到行尾 |
1G或者gg | 跳转到文件的首行 |
G | 跳转到文件的末尾行 |
#G | 跳转到文件中的第#行 |
:set nu | 在编辑器中显示行号 |
:set nonu | 取消编辑器中的行号显示 |
x或Del | 剪切光标处的单个字符 |
dd、#dd | 剪切当前光标所在行、#行内容 |
d^、 d$ | 剪切当前光标之前到行首、行尾的所有字符 |
yy、#yy | 复制当前行、#行内容 |
p、P | 粘贴到光标位置处之后、之前 |
u 、 U | 撤销 |
/、? | 在文件中查找 |
n、N | 定位下一个、上一个匹配的结果 |
ZZ | 保存并退出 |
末行模式下的操作
:w | 保存 |
:w /root/newfile | 另存为 |
:q | 未修改退出 |
:q! | 强制退出 |
:wq、:x | 保存并退出 |
:e | 不退出当前打开另一文件 |
:r | 导入另一文件中内容 |
: syntax { on | off } | 文本是否高亮显示 |
:set nu|:setnonu | 是否显示行号 |
内容替换
:替换范围s/被替换的内容/替换后的内容/g
替换范围
%:表示整个文件
n,m:文件的第n至m行
/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:复制的次数