一:Linux简介
Linux是一个Unix类操作系统,完全开发源码,多用户多任务,服务器(数据库服务器、Web服务器、应用服务器、图
片服务器等等)、嵌入式领域(如路由器等需要Linux才能启动)、移动终端(比如安卓手机等、平板)
二:安装Linux系统
1)、安装虚拟机软件(VMware,注意不要随意卸载该软件,在Win7系统下建议安装8.0或9.0)
2)、用虚拟机模拟电脑(四类操作系统:windows、Linux、Mac、Dos)
3)、安装Linux系统
Linux分区实际上是划分目录结构(Linux只识别文件和目录),必须有"根目录(/)"和"交换目录(swap)"
交换目录(swap):提供虚拟内存,当电脑内存不足,交换目录所占用的磁盘空间会当做虚拟内存来使用
磁盘8G(/dev/sda表示一个SCSI接口的硬盘,/dev/hda表示一个IDE接口的硬盘):
swap: 1G
/: 剩余的全部空间
Linux超级管理员账号是:root
Ctrl+C终止一条命令,Ctrl+Z撤销一条命令
二:基本命令
4条最简单的命令:
ls #查看目录的内容
pwd #查看当前目录的绝对路径
cd #跳到指定位置
clear #清屏
示例:
[root@localhost bin]#pwd
/usr/bin
[root@localhost bin]#cd ../sbin
[root@localhost sbin]#pwd
/usr/sbin
[root@localhost sbin]#cd ../../opt
[root@localhost opt]#pwd
/opt
[root@localhost opt]#ls d05/
[root@localhost opt]#ls ./d05/
bash、csh、ssh
echo $SHELL
shell命令行
[root@localhost ~]#(表示超级用户) 或 [u101@localhost bin]$(表示普通用户)
root表示当前操作的用户
localhost表示主机名
~表示当前处在哪个目录中,~表示当前登录的用户的home目录(用户登录后默认进入到home目录)
路径: 表示文件或文件夹所在的位置
绝对路径:以/开头
相对路径:.表示当前目录;..表示当前目录的上一层
mkdir --help #查看命令的帮助信息
man mkdir #查看命令的详细帮助
Linux中只要以点号(.)开头的文件或文件夹,就是隐藏的
Linux中的文件或文件夹命名中包含空格,需要用\进行转义,或者用双引号,如下代码:
mkdir aa\ bb #创建文件夹aa bb
mkdir "aa bb" #创建文件夹aa bb
mkdir aa\ bb\\cc #创建文件夹aa bb\cc
mkdir "aa bb\cc" #创建文件夹aa bb\cc
文件(夹)的基本操作:
mkdir d101 #创建一个目录d101
mkdir d102 d103 #同时创建两个目录d102、d103
mkdir -p d104/d105 #同时创建两层目录
#rmdi只能删除空目录
rmdir d101 #删除空目录d101
rmdir d102 d103 #同时删除两个空目录d102,d103
rmdir -p d104/d105/ #删除d105目录后,若d104是空的,则连d104一起删除
touch f101 #创建一个空文件f101
vi编辑器:默认进入到命令模式,另存(:wq! f101 或 :x! f101)
有命令模式、输入模式、末行模式三种模式。
命令模式:查找内容(/This,n往下搜,N往上搜索)、跳转到指定行(20gg)、跳转到尾行(G)、跳转到首行(gg)、跳到
行尾($)、跳到行首(^)、删除行(100dd)、插入行(o)、复制粘贴行(yy,p)
输入模式:编辑文件内容
末行模式:保存退出(wq等同于x)、强制退出(q!)、显示文件行号(set number)、显示光标所在的位置(set nu)
在命令模式下,输入a或i即可切换到输入模式,输入冒号(:)即可切换到末行模式;在输入模式和末行模式下,按esc
键切换到命令模式!
more:分屏显示文件内容,按回车键可查看下一行,按空格键显示下一页内容,q键退出
less:具有more的全部功能,且有文件内容搜索功能
cat:一次将文件内容全部显示出来
rm -i f101 #删除文件,-i会提示用户是否删除,输入y回车即可删除
rm -f f101 #删除文件,直接删除
rm -ri d101/ #删除目录(空目录和非空目录都可以删除)
rm -rf d101/ #删除目录,不会提示
rm命令慎用绝对路径(rm -rf /opt/d101/和rm -rf / opt/d101/是两条完全不一样的命令)
复制粘贴: 不能将文件夹复制到文件
cp /etc/termcap . #将/etc/termcap文件复制到当前目录
cp /etc/termcap termcap.bak #将/etc/termcap文件备份
cp -r d101/ d102/ #将d101/复制到d102/
cp -r d101/ f101 d102/ #同时复制目录和文件到d102目录下,注意d102必须是个文件夹
剪切: 不能将文件夹剪切到文件
mv f101 f102 #将f101剪切到f102,相当于文件更名操作
mv f102 d101/ #将f102文件剪切到d101目录
mv d101/ d102/ #将d101目录剪切到d102目录中
mv d101/ f101 d102/ #同时剪切目录和文件到d102目录下,注意d102必须是个文件夹
压缩管理:包(.tar)、压缩文件(.gz)、压缩包(.tar.gz 或 .tgz)
#tar命令打包的内容不能用绝对路径,如下代码
# tar -cvf t102.tar /opt/d02/d01/
tar -cvf t101.tar d101/ f101 #将目录和文件打到当前目录下的t101.tar包中
tar -cvf /opt/t101.tar d101/ f101 #将目录和文件打到/opt/t101.tar包中
tar -tvf t101.tar #查看t101.tar包中的内容
tar -xvf t101.tar #将t101.tar包中的内容释放到当前目录中
tar -xvf t101.tar -C /opt/d102/ #将t101.tar包中的内容释放到/opt/d102/目录中
压缩比:gzip只能压缩单个文件,不能压缩目录、也不能同时压缩多个文件
2G --> 1G(压缩比小,压缩速度快)
2G --> 500M(压缩比大,压缩速度慢)
gzip -1 f101 #将f101压缩,形成压缩文件f101.gz,数字1表示压缩比最小
gzip -9 f101 #将f101压缩,形成压缩文件f101.gz,数字9表示压缩比最大
gzip -l f101.gz #查看压缩文件f101.gz的压缩信息,小写字母l
gzip -d f101.gz 或 gunzip f101.gz #解压f101.gz文件
tar -cvf t101.tar d101/ f101 #首先打包操作
gzip -9 t101.tar #然后将包压缩,最终形成压缩包t101.tar.gz
tar命令只有打包功能,没有压缩功能,它是借助gzip进行压缩
tar -czvf t101.tar.gz d101/ f101 #将目录和文件打到当前目录下的t101.tar.gz压缩包中
tar -czvf /opt/t101.tgz d101/ f101 #将目录和文件打到/opt/t101.tgz压缩包中
tar -tzvf t101.tar.gz #查看t101.tar.gz压缩包中的内容
tar -xzvf t101.tar.gz #将t101.tar.gz压缩包中的内容释放到当前目录中
tar -xzvf t101.tgz -C /opt/d102/ #将t101.tgz压缩包中的内容解压到/opt/d102/目录中
#针对windows平台下的zip压缩包的解压
unzip -d d101/ f101.zip #将f101.zip解压到d101目录下
三:网络配置
ifconfig #查ip信息
ping #测试网络是否连通
setup #配置ip、防火墙、服务等信息
service network restart(start\stop) #重启服务
虚拟网卡桥接连接方式
hostname #输出主机名
客户端工具:crt、xshell、ssh、puty,前2个最常用,支持中文,后2个不支持中文
四:用&组&权限
组管理:(/etc/group,选择性掌握)
groupadd g1015 #组必需要有组id,如果没有指定组id,则系统自动分配唯一的组id
groupadd -g 499 g1015 #指定了组id,则系统不会自动组id
groupmod -n g1066 g106 #将g106更名成g1066
groupmod -g 498 g10166 #将g10166的id更改成498
groupdel g10166 #删除组g10166,若组中有用户,若组中包含用户,则不能删除组(必须确保组是空的才能删除组)
用户管理:(/etc/passwd存储用户基本信息、/etc/shadow存储用户密码信息)
一个用户可以拥有多个多个组:主组(一个有且只能有一个主组)和附属组(0到多个附属组)
用户的密码若是以*号或!开头,则表示该用户不能登录Linux操作系统
useradd u101 #用户登录后,默认进入到其home目录,home目录在/home/目录下(root用户的home目录是/root)
passwd u101 #passwd默认给当前用户设置密码,密码=字母+数字+下划线(_),超过8位,设置密码时,不会显示出来
usermod -L u101 #锁定用户,即用户不能登录
usermod -U u101 #解锁用户
userdel -r u101 #彻底删除用户
id u101 #查看用户信息:如uid、所有的组信息等等
权限:Linux中通过控制每一类用户对文件/文件夹的读、写、执行来实现权限控制
ls -l 等同于 ll
ls -al 等同于 ll -a
ls -ahl 等同于 ll -ah
drwxr-xr-x 2 root root 4.0K 11-06 18:30 Desktop
第一个root:表示该文件夹属于哪个用户
第二个root:表示该文件夹属于哪个组
chown -R u101 Desktop/ #单独更改文件夹的拥有者(-R表示文件夹的所有子内容全部更改)
chgrp -R u101 Desktop/ #单独更改文件夹的所属组
chown u101:u101 install.log.syslog #同时更改文件的拥有者和所属组
drwxr-xr-x(一个组中可以包含0到多个用户)
d表示是个普通文件夹,-表示普通文件
rwx:文件拥有者具备的权限(u),7, 7-2
r-x:文件所属组中的其他用户所具备的权限(g),5, 5+2
r-x:其他用户所具备的权限(o),5, 4
chmod u-w,g+w,o=r Desktop/ #执行完后变成dr-xrwxr--
#r=4;w=2;x=1,755
chmod -R 574 Desktop/ 等同于 chmod -R u-w,g+w,o=r Desktop/
最大是777(drwxrwxrwx),最小是000(d---------)
chmod 777 Desktop/ 等同于 chmod a=rwx Desktop/ #a代表所有用户
五:扩展命令:
tab键的使用
init 3从图形界面切换到命令模式
init 5从命令模式切换到图形界面
ls /etc | more
tree /opt/
ls -R /opt/
ll -ahR /opt/
at
cal
date
who
who am i
主要:
scp(rcp) #远程复制文件(夹)(rcp命令也可)
scp -r root@172.11.1.15:/opt/pp . (注意此处有点号.)
less f101查看文件,按v键进入编辑,:wq保存退出
grep zpp /etc/passwd #到/etc/passwd文件中查找zpp字符串
grep -n "root" /etc/group #查看/etc/group文件中包含root的行并显示行号
cat install.log | grep isdn4k #到install.log文件中搜索内容:isdn4k(grep "isdn4k" install.log)
du -h #查文件或目录的大小
du -sh term #查看文件term的大小
echo "" > f101 #清空文件f101中的内容,但仍然有一空行
cat /dev/null > f101 #清空文件f101中的内容,不会有空行
top #查看当前系统的资源使用率(默认是5秒刷新一次,相当于windows的资源管理器)
chkconfig --list #列出所有服务(相当于windows下的services.msc所列出的内容)
mount /dev/cdrom /mnt 或 mount /dev/hdc /mnt #载入光驱
umount /mnt 或 umount /dev/cdrom #一定要退出光驱目录,才能进行反载入
最重要:
netstat -an #查看端口
ps #查看当前终端正在运行的进程
ps -ef #查看系统正在运行的进程
ps -ef | grep bash #查看系统正在运行的进程名包含bash的进程
kill -9 pid #强制终止(pid表示进程号,可以用ps命令查看到进程号)
diff #比较两个文件的内容
df -h #查磁盘信息
free -m #查内存
find / -name d101 #从根目录下开始查找(find -name d101从当前目录下开始查找)
head -n 10 term; #查看文件头10行
tail -n 20 term #查看文件末尾20行
sed -ne '3,30p' termp #查看文件制定范围的行(例:第3行到第30行)
#抓包命令
tcpdump -X -s 0 -w test.cap port 1813
六:扩展:输入和输出(选择性掌握)
cat(将标准输入(即键盘)所输入的内容直接输出到标准输出(即显示器))
echo 泽林则是 > f102 #将内容定向输出到文件中
cat f101 >> f102 #将f101中的内容追加到f102中
gzip -9c termcap > d101/termcap.gz #将termcap文件压缩到指定目录下
gzip -9c f101 >> d101/termcap.gz #将f101追加到termcap.gz压缩文件中
gzip -d termcap.gz -c > d04/f011 #将termcap.gz解压到d04/f011文件中
ls | grep install #grep命令查找字符串
strings /bin/ls #查看二进制文件中可打印字符
awk -F : '{print $1, $5}' /etc/passwd #查看/etc/passwd文件中的第1列、第5列(-F :表示用:号分隔,默认
是空格分隔)
awk -F : '{print $1, $5}' /etc/passwd > f101
ps aux #显示出所有进程(包括前台与后台的)
ps aux | grep apache #查看apache用户启动的所有进程
ps aux | grep apache | awk '{print $1,$11}' #看apache用户启动的所有进程,只显示第1列、第11列
ps aux | grep apache | awk '{print $1,$11}' > f102 #看apache用户启动的所有进程,只显示第1列、第11列
,将结果输入到当前目录下的f102目录
wc -c d01/f102 #查看d01/f102文件的字节数
wc -m d01/f102 #查看d01/f102文件的字符数
wc -l d01/f102 #查看d01/f102文件的行数
七:Vi命令扩展(命令模式下的操作):
h 或 Backspace:: 光标左移一个字符
l 或 space:: 光标右移一个字符
k 或 Ctrl+p: 光标上移一行
j 或 Enter 或 Ctrl+n : 光标下移一行
w : 光标右移一个字至字首
W : 光标右移一个字至字首,忽略标点符号
b 或 B : 光标左移一个字至字首
e 或 E : 光标右移一个字至字尾
复制指定字符
yw
y4l
yy
y
dd
d
s
S删除一行且进入编辑模式
dd删除一行不进入编辑模式
s删除一个字符且进入编辑模式
x删除一个字符不进入编辑模式
u撤销
2x删除2个字符