1 一、linux命令
1.1 安装步骤
1.1.1 虚拟机下载安装
vmware 虚拟机
centos 7...iso
虚拟机新建 linux-centos 虚拟机
虚拟机光驱中加入 iso 光盘
启动安装
* 最小(不用)
* 最小网络服务(推荐)
* 带桌面
* 选择自动分区
1.1.2 磁盘分区
==================================
必须分区:
/ 根
swap 磁盘虚拟内存,数据交换分区
内存的2倍,不超过2G
建议分区
/boot 引导文件分区, 500M
/home 。。。。。。。。。
1.1.3 linux下载安装
=================================
* 内核 kernal.com
* 壳 shell
Bash 红帽子系列
其他
1.2 常用命令符
1.2.1 ls查看目录
===========================================================
目录列表
ls /home
-a
--all
所有文件
-l
长格式
(查出来的内容人里面显示,解释)
- 文件
d 目录
l 软连接(连接文件)
------------------------------
rw- r-- r-- 权限
所有者权限 组权限 其他人
u g o
r - read读
w - write写
x - execute执行
------------------------------
连接数
------------------------------
所属用户
------------------------------
所属组
------------------------------
文件大小
------------------------------
最后修改时间
------------------------------
-d
查看目录属性,而不是列出目录
-h
人性化显示
Kb
Mb
Gb
-i
id列
ll
ls -ld 缩写
1.2.2 mkdir创建目录
===========================================================
创建目录
-p
递归
逐层创建多层目录
1.2.3 cd切换目录
===========================================================
切换目录
cd /sole01/home/
1.2.4 pwd查找目录当前位置
===========================================================
Pwd 查找目录当前位置
/ 我的根目录
. 当前目录
.. 上一层目录
1.2.5 rmdir删除空目录
===========================================================
删除空目录
1.2.6 rm删除文件或目录
===========================================================
删除文件或目录
-r
删除目录
-f
无需确认
1.2.7 cp复制
===========================================================
复制
-r
复制目录
-p
保持文件属性
1.2.8 mv移动或改名
===========================================================
移动或改名
mv +空格+要修改的文件名+空格+修改成的文件名
1.2.9 touch创建文件
===========================================================
创建文件
文件权限 rw-rw-r--
u
g
o
r 4 100
w 2 010
x 1 001
111
1.2.10 cat查看文件
===========================================================
查看文件
-n
行号
cat /etc/文件名 |more 查看文件
1.2.11 tac反向查看文件
===========================================================
反向查看文件,tac 反向查看
1.2.12 more分页
===========================================================
分页(所有都能分页查看分页)
more 文件
空格,f 翻页
回车,单行
q,退出
1.2.13 less分页
===========================================================
分页
支持向上翻页
pgup 上翻
上箭头 上一行
/ 搜索关键词
n next,搜索下一个关键词
q,退出
less 分页 支持向上翻页 支持搜索 /+关键字 n切换到下一个关键字
1.2.14 ln链接
===========================================================
-s 软链接 ——相当于快捷方式
ls file file_link
ls -s file file_link_soft
*)软连接,相当于快捷方式
*)硬链接,是一个文件副本,两个文件同步修改,删除其中一个,另一个仍然存在
两个文件具有相同的 id。
1.2.15 chmod修改文件目录权限
===========================================================
修改文件目录权限
r 4
w 2
x 1
+ - =
chmod u+x,g-rw,o=r file
chmod 755 file
文件
r 读
w 写
x 执行
目录
r 列表
w 创建、删除内部文件
x 进入
chmod 更该权限
chmod+”空格”
1.2.16 chown修改所属者
===========================================================
修改所属者
chown user file
1.2.17 chgrp修改所属组
===========================================================
修改所属组
chgrp group file
1.2.18 find查找搜索
===========================================================
find /etc -name init* -a -type f
-name
搜文件名,通配符 *、?
-iname
忽略大小写
-size
按文件大小查找
+块数, 大于...
-块数,小于...
一块等于512字节
-size +20800 大于20800*512字节
-size 20800 等于20800*512字节
-user
-group
按所有者、所属组查找
find -user root
-amin
access minutes, 按访问时间查找
-cmin
change, 属性更改
-mmin
modify, 内容修改
-amin -60 60分钟内
-type
f, d, l
-a
and
-o
or
-exec
-ok
对查找结果直接执行操作命令
... -exec ls -l {} \;
... -ok ls -l {} \;
需用户确认
1.2.19 locate根据文件库查找文件
===========================================================
根据文件库查找文件
1.2.20 updatedb更新文件库
===========================================================
更新文件库
1.2.21 which命令查找,别名
===========================================================
命令查找,别名
1.2.22 whereis命令查找,有文档位置
===========================================================
命令查找,有文档位置
1.2.23 grep文件内容查找
===========================================================
文件内容查找
grep root /etc/passwd
ls -l /etc |grep ^d
-i
忽略大小写
-v
排除 ... -v ^#
1.2.24 man命令或配置文件的帮助文档
===========================================================
命令或配置文件的帮助文档
内核命令,不能使用 man 文档
man ls
man services
上下翻页
\查找 n下一个
q退出
1.2.25 whatis命令的简单信息
===========================================================
命令的简单信息
whatis ls
1.2.26 apropos配置文件信息
===========================================================
配置文件信息
apropos services
apropos passwd
1.2.27 命令 --help
===========================================================
1.2.28 info显示命令帮助文档
===========================================================
显示命令帮助文档
1.2.29 help内部命令帮助
===========================================================
help 命令
内部命令帮助
1.2.30 useradd
===========================================================
useradd wanght
1.2.31 passwd
===========================================================
passwd wanght
1.2.32 who
===========================================================
查看登录用户
1.2.33 uptime
===========================================================
linux连续运行时间
1.2.34 w
===========================================================
系统运行时间,用户数,负载情况
用户的空闲时间,累计cpu时间,单次cpu时间,运行了什么命令
1.2.35 gzip压缩
===========================================================
gzip file
压缩,不能压缩目录
gzip -d file.gz
解压缩
1.2.36 gunzip解压缩
===========================================================
解压缩
1.2.37 tar压缩
===========================================================
tar -zcf file.tar dir
压缩目录
tar -zxvf file.tar.gz
解压缩目录
-c
创建打包文件
-v
显示详细信息
-f
指定文件名
-z
打包同时压缩 gz
-j
打包同时压缩 bzip2
-x
解包
-z
解压缩
1.2.38 zip压缩
===========================================================
zip file.zip file
zip -r dir.zip dir
1.2.39 unzip
===========================================================
unzip file.zip
1.2.40 bzip2
===========================================================
bzip2 file
-k
保留源文件
1.2.41 bunzip2
===========================================================
bzip2 file.bz2
-k
保留压缩文件
1.2.42 write写
===========================================================
write username
message... message...
1.2.43 wall发送
===========================================================
发送给所有用户
write to all
wall message...
1.2.44 ping
===========================================================
ping
-c 3
3次
1.2.45 ifconfig查询本机的ip地址
===========================================================
ifconfig 网卡 192.168.xx.xx
设置ip
1.2.46 ip addr add 192.168.0.193/24 dev wlan0
===========================================================
1.2.47 mail
===========================================================
发送邮件给指定用户
mail user
ctrl + d 保存发送
查看邮件
& 1 查看序号
& h 列表
& d1 删除序号
& q 退出
1.2.48 last列出用户登录信息
===========================================================
列出用户登录信息
1.2.49 lastlog列出所有用户最后登录信息
===========================================================
列出所有用户最后登录信息
-u 502
指定用户id
1.2.50 traceroute数据包到主机间的路径
===========================================================
数据包到主机间的路径
traceroute www.163.com
traceroute 192.168.xx.xxx
traceroute code.tarena.com.cn
1.2.51 netstat显示网络信息
===========================================================
显示网络信息
-t
tcp
-u
utp
-l
监听
-r
路由
-n
ip、端口
-tlun 本机监听的端口
-an 本机所有网络连接
-rn 本机路由表
常用三个参数
1.2.52 setup设置网络
===========================================================
设置网络
1.2.53 service network restart重启网络
===========================================================
重启网络
1.2.54 service iptables stop 关闭防火墙
1.2.55 mount挂载
===========================================================
挂载
-t
文件系统
光盘:iso9660
u盘:ntfs-3g
fat32
mount -t iso9660 /dev/cdrom /mnt/cdrom
1.2.56 umount设备
===========================================================
umount 设备
umount /dev/cdrom
umount /dev/sdb
1.2.57 shutdown关机
===========================================================
关机
-h
指定时间 -h now 或 -h 20:00
-r
重启 -r now 或 -r 20:00
-c
取消预订的关机命令
halt
poweroff
1.2.58 init 0关机
===========================================================
关机
reboot
1.2.59 init 6 重启
===========================================================
重启
1.2.60 系统运行级别
===========================================================
init
0 关机
1 单用户(安全模式)
2 不完全多用户,不含nfs服务
3 完全多用户
4 未分配
5 图形界面
6 重启
1.2.61 runlevel查看级别
===========================================================
查看级别
1.2.62 logout登出(重要)
===========================================================
登出(重要)
1.2.63 Sh脚本命令
===========================================================
Sh startup.sh -- 启动tomcat
1.2.64 vim模式
===========================================================
1.2.64.1 模式
1.命令模式
2.插入模式 i a o
3.编辑模式 :
1.2.64.2 插入模式: esc 退出
a 字符后插入
A 行尾插入
i 字符前插入
I 行首插入
o 下面插入新行
O 上面插入新行
1.2.64.3 编辑模式:
冒号进入
:set nu 显示行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ 移到行尾
0 移到行首
x 删除字符
nx 删除后面n个字符
dd 删行
ndd 删除n行
dG 删当前行到文件末尾
D 删当前字符到行尾
:n1,n2d n1行到n2行删除
yy 复制当前行
nyy 复制当前行向下n行
dd 剪切当前行
ndd 剪切当前行向下n行
p、P 粘贴在当前行上面或下面
r 覆盖单个字符
R 持续覆盖字符,esc退出
u 回退
ctrl+r 重做
/ 搜索指定的字符串
n next
:%s/aaaa/bbbb/g 不询问
:%s/aaaa/bbbb/c 询问确认
全文替换, aaaa 替换成 bbbb
:n1,n2s/aaaa/bbbb/g 不询问
:n1,n2s/aaaa/bbbb/c 询问确认
指定行范围内替换
:set ic 不区分大小写
:set noic 区分大小写
:w 保存
:w filename 另存为
:wq 保存并退出
ZZ 保存并退出,快捷方式
:q
:q! 不保存直接退出
:wq! 对只读文件强行保存并退出(所有者和root可用)
:r \aa\bb
导入bb文件内容
:!命令
不退出vim执行系统命令
:r !命令
导入命令执行结果
:map 自定义快捷键
:map [ctrl+vp] I#<ESC> ctrl+p添加#
:map [ctrl+vb] 0x<ESC> ctrl+b取消#
:n1,n2s/^/#/g 行首添加#
:n1,n2s/^#//g 行首去除#
:n1,n2s/^/\/\//g 行首添加//
:ab omg oh my god!
定义缩写,替换为完整文本
.vimrc
用户目录下 vim 命令配置文件,
可添加快捷键、缩写配置等
1.2.65 rpm
===========================================================
-i
安装
-v
安装信息
-h
安装过程
-nodeps
不检测依赖性
-U
升级
-e
卸载,只写包名
-q
查询是否安装,只写包名
-qa
查询所有
-qi
查询软件信息
-qip
查询未安装包,写包全名
-ql
文件安装位置
-qlp
未安装包文件将会安装的位置
-qf
查询一个文件属于哪个包
-qR
查询包的依赖性
-qRp
查询依赖的未安装的软件包
-V
校验,只写包名
检查软件安装后,是否有文件被修改
8项信息
S 文件大小
M 文件的类型,或权限
5 md5校验值
D 设备的中、从代码是否改变
L 文件路径
U 文件所有者
G 所属组
T 修改时间
文件类型
c 配置文件
d 普通文档
g 鬼文件,应不属于该包
l 授权文件
r 描述文件 readme
rpm2cpio
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686.rpm | cpio -idv . /bin/ls
从指定的包中提取一个文件
www.rpmfind.net
组件信息查询
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 包名
2.2.15 版本
15 发布次数
e16.centos 适合的linux平台
i686 适合的硬件平台
rpm
1.2.66 yum
===========================================================
rpm 包的在线管理,自动在线下载依赖包和组件
yum list 查询所有可用软件包
yum search 包名
yum -y install 包名
yum -y update 包名 不指定包名,会升级内核,导致系统崩溃
yum -y remove 包名 尽量不执行卸载,否则会删除有用依赖包
yum grouplist
yum groupinstall
yum groupremove
光盘 yum 源
/etc/yum.repos.d/ 目录中其他文件改名,只保留 media
vim 修改 media 文件,改 enabled=1
===========================================================
1.3 系统代码练习
mkdir d1
touch d1/f1
mv d1/f1 f1
ls
ls d1
mv f1 f2
ls
000000000001 1
000000000010 2
000000000011 3
000000000100 4
462
4620
46200
462000
101110
1011100
10111000
1
10
100
1000
10000
100000
1000000
10000000
1000
1
10
100
1000
10000
100000
1000000
1000101
cat /etc/passwd
cat -n /etc/passwd
cat -n /etc/passwd | more
cat -n /etc/services
ctrl + c
cd /tmp
cp /etc/services a
ls
ln -s a aln
ls -l
cat a
cat aln
ls -l
rm a
ls -l
cp /etc/services b
创建b的硬链接 bln
ln b bln
ls -il
向 b 文件写入内容
echo 'sdfwertwfdssfwe' >> b
cat b
cat bln
ls -il
rm b
ls -il
cat bln
ls -l
chmod u-rwx,o+x bln
ls -l
echo 'asdfs' >> bln
rm bln
ls -d d1
mkdir d1
touch d1/f1
chmod u-rwx d1
cd d1
ls -ld d1
chmod u+x d1
cd d1
ls
cd /tmp
chmod u+r d1
cd d1
ls
rm f1
touch c
chown root c
find /etc -name init*
find /etc init* -exec ls -l {} \;
find /etc init* -ok ls -l {} \;
locate mysql
locate init
cd /tmp
chmod 777 d1
touch d1/aabbaa
locate aabbaa
updatedb
# sdfsdfs
# werteryre
# jrghdegs
# erwerwerwerw
# eryer
#
#
gweewe=we
eeyher=2
useradd zhangsan
su root
passwd:
# cd ~
pwd
exit
$su - root
useradd zhangsan
passwd zhangsan
su zhangsan
*****
whoami
cd ~
pwd
less /etc/passwd
whoami
root
write soft01
fsdf
wetsdfs
sdf
hgerfgs
sdfsf
cd /tmp
cp /etc/services a
cp /etc/passwd b
gzip a 生成 a.gz,且删除原文件
ls
ls -l /etc/services
ls -l a.gz
gzip -d a.gz a解压缩出来,并删除压缩文件
cd /tmp
pwd
/tmp
rm -rf *
ls
mkdir -p aa/bb/cc
touch aa/f1
touch aa/f2
touch aa/bb/f3
touch aa/bb/cc/f4
touch aa/bb/cc/f5
tar -cf aa.tar aa
ls
gzip aa.tar
ls
rm aa.tar.gz
tar -zcf aa.tar.gz aa
ls
gzip -d aa.tar.gz
tar -x aa.tar
ctrl+c
rm -rf aa
gzip aa.tar
tar -zxvf aa.tar.gz
ls
cp /etc/services a
cp /etc/services b
gzip a
zip b.zip b
ls -l
gzip -d a.gz
gzip a
bzip2
ping -c 4 192.168.xxx.xxx
tcp
传输稳定
udp
可能丢包
ls /dev
cdrom
sdb
init 3
init 3
alt + f1 - f6
asdf
as
dfq
wf
gwer
ger
s
init 3
cd /tmp
cp /etc/profile f
vim f