1.目录
1.1.常用目录结构
1. root目录:超级管理员所在的目录,用~表示
2. home目录:普通用户所在的目录
3. usr目录:安装用户文件所在的目录
4. etc目录:Linux系统管理和配置文件所在的目录 (谨慎使用)
1.2 目录操作
1)查看
* 语法
ls [参数]
* 参数解释
-l 以详细形式查询当前目录下所有文件和目录,不包括隐藏文件和目录
-a 以精简形式查询当前目录下所有文件和目录,包括隐藏文件和目录
* 命令
cd / 进入根目录
ls 以精简形式查询当前目录下的内容
ls -l 以详细形式查询当前目录下的内容,d表示目录,-表示文件;此命令可以简写为ll
ls -a 以精简形式查询当前目录下的隐藏内容
ls -la 以详细形式查询当前目录下的隐藏内容,la和al都可
clear 清屏
ll 查看当前目录详细信息 = ls -l
ll -a 详细信息+隐藏文件
ctrl+l 清屏
* 查看命令
d 表示文件夹
l 链接(快捷方式)
- 表示文件
2)目录
* 语法
cd 目录
* 命令
cd ~ 当前用户目录
cd / 根目录
cd - 上一次访问的目录
cd .. 上一级目录
cd 缺省当前用户目录
推荐:如果三级以上的目录,使用绝对路径
3)增加
* 语法
mkdir [参数] 目录
* 参数解释
-p 一次性创建层级目录,如果目录存在,则不做覆盖创建
* 命令
cd / 定位于根目录
mkdir aaa 在当前目录下创建aaa目录,相对路径
mkdir ./bbb 在当前目录下创建bbb目录,相对路径
mkdir /ccc 在根目录下创建ccc目录,绝对路径
mkdir /ddd/eee 在根目录下创建ddd目录和eee子目录
4)搜索
* 语法
find 目录 -name '条件'
* 命令
cd /
find / -name 'b' 查询根目录下(包括子目录),名为b的目录和文件
find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件
在Linux中,按ctrl+c 强行终止程序执行
5)修改
* 语法
mv 旧目录 新目录
* 命令
cd /
mv aaa aaaa 将根目录下的aaa目录修改为aaaa
6)剪切
* 语法
mv 原目录位置 新目录的位置(改名)
* 命令
cd /
mv /aaaa /bbb 将根目录下的aaaa目录,移动到bbb目录下,在bbb目录下也叫aaaa目录
mv bbb usr/bbbb 将当前目录下的bbb目录,移动到usr目录下,且修改名为bbbb
7)拷贝
* 语法
cp -r 目录 目录的新位置
* 参数解释
-r 递归处理,将指定目录下的文件与子目录一并处理
* 命令
cd / 定位于/目录
cp -r /aaa /bbb 将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下名字为aaa
cp -r /aaa /bbb/aaaa 将/目录下的aaa目录复制到/bbb目录下,且修改名为aaaa
8)删除(了解)
* 语法
rmdir [参数] 目录
* 参数解释
-p 删除目录及其父目录
* 命令
cd /
rmdir bbb/ccc 删除bbb目录下ccc目录
rmdir -p bbb/ccc 删除bbb目录和ccc子目录
2 文件操作
1)增加
* 语法
touch 文件
* 命令
cd /soft 定位于/soft目录
touch a.java 在aaaa目录中创建a.java文件
touch b.txt 在aaaa目录中创建b.txt文件
touch c.xml 在aaaa目录中创建c.xml文件
2)查看
* 语法
cat/more/less/head/tail 文件
如果文件内容只有一页 使用 cat
如果文件内容有多页 使用 less
* 命令
cd /soft
cat a.java 查看a.java文件的最后一页内容
more a.java 从第一页开始查看a.java文件内容,按回车键一行一行的看,按空格健一页一页 的看,q退出
less a.java 从第一页开始查看a.java文件内容,按回车键一行一行的看,按空格健一页一页 的看,支持使用PageDown和PageUp翻页,q退出
head a.java 查看a.java文件的前10行内容
tail a.java 查看a.java文件的后10行内容
head -n 7 a.java 查看a.java文件的前7行内容
tail -n 7 a.java 查看a.java文件的后7行内容
tail -f 动态查看文件内容....
退出 动态查看 ctrl+c
3)删除(掌握)
* 语法
rm [参数] 目录或文件
* 参数解释
-r 递归处理,将指定目录下的所有文件及子目录一并处理,它会询问你,y表示是删除,n表示不删除
-f 强制删除目录,它不会询问你
* 命令
cd /soft
rm -rf a.java 强行式删除当前目录下的a.java文件
rm -rf ./a* 强行式删除当前目录下以a开头的所有文件
rm -rf /* 自杀
http://imgsrc.baidu.com/forum/w%3D580/sign=00fefe23dd09b3deebbfe460fcbe6cd3/940f918fa0ec08fa078d4aec55ee3d6d54fbdafc.jpg
4)修改 (Vi和Vim编辑器)
linux 下的vi 是一种文字编辑器,后来的升级版本是vim高级文字编辑器。vi 分为三种模式:命令行、插入、底行模式。
* 切换到插入模式
i 在当前位置前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
* 切换到命令行模式
按Esc键
yy 复制当前行
p 粘贴
dd 删除当前行
G 到文件的最后一行
gg 到文件的第一行
* 切换到底行模式
按 :(冒号)
:wq 保存退出
:q 退出vi(文件无修改的情况下)
:q! 不保存强制退出
* 小结
vim 文件 (对文件进行编辑) 回车
进入了 命令行模式
如果要想编辑内容 进入 插入模式 (i)
进行修改,退出插入模式 esc (进入命令行模式)
退出 : 低行模式
:q! 不保存强制退出
:wq 保存退出
3 压缩命令
windows的压缩文件的扩展名: .zip或.rar
Linux中的打包文件扩展名:.tar
Linux中的压缩文件扩展名:.gz
Linux中打包压缩的文件扩展名:.tar.gz
1)打包压缩包
* 语法
tar -zcvf 打包压缩后的文件名 要打包的文件
* 参数解释
-z:调用gzip压缩命令进行压缩
-c:打包文件
-v:显示运行过程
-f:指定文件名
c
cd /soft 定位于/soft目录
tar -zcvf haha.tar.gz a.java b.java c.java
或
tar -zcvf haha.tar.gz ./* 将当前目录下的所有文件打包压缩成haha.tar.gz文件
2)解压压缩包(掌握)
* 语法
tar -zxvf 压缩文件
解压后的文件放在当前目录中
tar -zxvf 压缩文件 –C指定目录
解压后的文件放入指定目录中,注意-C是大写字母C,后面不用接空格符
* 参数解释
-z 自动识别压缩或解压
-x 取出文件中的内容
-v 输出文件清单
-f 文件名由命令台设置
* 命令
cd /soft 定位于/soft目录
rm -rf ./*.java 强制式删除当前目录下所有扩展名为java的文件
tar -xvf haha.tar.gz 解压haha.tar.gz这个压缩文件,里面的文件释放到当前目录下
tar -xvf haha.tar.gz -C/usr/local
解压haha.tar.gz这个压缩文件,里面的文件释放到/usr/local目录下
4 文件权限
1)权限介绍
Linux中对每个目录和文件都做了规定,只能由满足条件的用户才能操作,这个规定叫权限。
* 文件类型
d:代表目录
-:代表文件
l:代表链接(可以认为是window中的快捷方式)
* 当前用户权限
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示
* 当前组内其他用户权限
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示
* 其他用户的权限
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示
2)权限操作
* 语法
chmod [参数] [<权限范围><符号><权限代号>]
* 参数解释
-R 递归处理,将指定目录下的所有文件及子目录一并处理
* 权限范围
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
* 符号解释
+ 添加权限
- 取消权限
= 重置权限
* 权限代号
r:读取权限,数字代号为"4"
w:写入权限,数字代号为"2"
x:执行或切换权限,数字代号为"1"
-:不具任何权限,数字代号为"0"
* 命令
chmod u+x 1.txt 给1.txt的拥有者添加执行权限,这种写法稍微有点麻烦,开发中一般使用数字代号
chmod 755 1.txt 给1.txt的拥有者设置读写执行权限,给所属组添加读和执行权限,给其他用户添加 读和执行权限
chmod -R 777 a.txt 给所有人添加对此文件操作的所有权限
我们学习他,后期下载的一些第三方软件 有可能不能之前
我们需要给他设置 执行权限
5.端口状态
5.1 netstat命令
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
5.2 netstat -ntlp
//查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
5.3 其他
查看一台服务器上面哪些服务及端口
netstat -lanp
查看一个服务有几个端口。比如要查看mysqld
ps -ef |grep mysqld
查看某一端口的连接数量,比如3306端口
netstat -pnt |grep :3306 |wc
查看某一端口的连接客户端IP 比如3306端口
netstat -anp |grep 3306
6.网络管理
6.1 主机名配置
* 临时修改
hostname 新主机名
* 永久修改
vim /etc/hostname
6.2 ip地址配置
* 查看ip
ifconfig
ip addr
* 修改网卡ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
* 重启网卡服务
systemctl restart network (CentOS7)
6 其他命令
1)显示工作目录
* 语法
pwd
2)查看进程
* 语法
ps -au
ps -ef
* 参数解释
-a 显示所有用户通过终端启动的所有进程
-u 显示所有用户通过终端启动的所有进程详细信息
-x 显示所有用户通过终端和非终端启动的所有进程详细信息
-e 此参数的效果和指定"A"参数相同,显示所有程序 所有进程信息
-f 显示UID,PPID,C与STIME栏位
3)杀死进程
* 语法
kill 进程号
kill -9 进程号
4)搜索
* 语法
grep [参数] 搜索字符串 文件名
* 参数解释
-i 搜索时不区分大小写,大小写不敏感
-n 显示匹配行及行号,大小写敏感
-v 显示不匹配行及行号,大小写敏感
* 命令
cd /
grep as 123.txt 在123.txt文件中搜索as字符串,大小写敏感,显示行
grep -n as 123.txt 在123.txt文件中搜索as字符串,大小写敏感,显示行及行号
grep -v as 123.txt 在123.txt文件中搜索as字符串,大小写敏感,显示没搜索到行
grep -i as 123.txt 在123.txt文件中搜索as字符串,大小写不敏感,显示行
grep -ni "Q q" 123.txt 在123.txt文件中搜索Q q字符串,大小写不敏感,显示行及行号
5)管道
* 语法
xx(输出) | xx(输入)
一个命令的输出用作另一个命令的输入
* 命令
ls --help | more 分页查询帮助信息
ps -au | grep system 在ps -au的结果中,搜索字符串a
6)关机
* 语法
halt
7)重启
* 语法
reboot