Linxu
Linux的目录结构
Linux的文件系统采用级层式的树状目录结构,最上层根目录是/,在根目录下创建其他目录。
树状目录
Linux中,一切皆文件
具体目录结构:
重点目录结构
- /bin(/usr/sbin、/usr/local/bin) 【Binary的缩写】,存放着最经常使用的命令
- /home 存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般以用户用户的账号命名 【/root】
- /root 系统管理员【超级权限者的用户主目录】
- /etc 所有的系统管理所需要的配置文件和子目录
- /usr 用户的很多应用程序和文件放置在这个目录,类似于windows的program files目录
- /boot 存放linux启动时的核心文件 【连接文件、镜像文件等等、、】
- media linux会自动识别一些设备,【u盘、光驱等】,识别后会把设备挂在于该目录
- /mnt 让用户挂在其他的文件系统,可将外部存储挂在于此,进入就可以查看内容了
- /usr/local 另一个给主机额外安装软件所安装的目录,一般通过编译源码方式安装程序
- /var 存放不断扩充的东西,习惯将经常被修改的目录放在该目录下,包括各种日志文件
其他结构
- /sbin (/usr/sbin、/usr/local/sbin)s为【super user】 存放系统管理员使用的系统管理程序
- lib 系统开机所需的最基本的动态链接共享库,类似于windows的dll文件,几乎所有的应用程序都要用到这些共享库
- /lost+found 一般情况下为空,当系统非法关机时,会存放一些文件
- proc 是一个虚拟目录,是系统内存的映射,访问该目录获取系统信息
- /srv service的缩写,存放服务启动后的需要提取的数据
- /sys 系统内核目录
- /tmp 存放一些临时文件
- /dev 类似于Windows的设备管理器,将所有的硬件以文件的形式存储
- /opt 主机额外安装软件所摆放的目录,如 安装Oracle数据库就可以放到该目录
- /selinux 是安全子系统,控制程序只能访问特定文件
1.Linux的目录中有且只有一个根目录 /
2.Linux的各个目录存放的内容是规划好的,不能乱放文件
3.Linux是以文件的形式管理我们的设备,因此Linux系统一切皆为文件
4.Linux的各个文件目录下存放什么内容要有认识
常用的基本命令
目录管理命令(table可以自动补全可视目录)
- cd:切换目录命令
- ./:当前目录
- cd…:返回上一级目录
- pwd:显示当前所在的目录
- ls:列出目录
- -a参数:all 查看全部文件,包括隐藏文件
- -l参数 列出所有文件,包含文件的属性和权限,没有隐藏文件
cd命令
mkdir 创建目录
- mkdir创建目录
- mkdir -p 递归创建目录
rmdir 移除目录
- rmdir 移除目录(仅能删除空目录)
- rmdir -p
cp(复制文件或者而目录)
- cp 文件名 地址 (文件重复选择覆盖或者放弃)
rm 移除文件或者目录
- -f 忽略不存在的文件,不会出现警告,强制删除
- -r 递归删除目录!
- -i 互动,删除询问是否删除
mv 移动文件或者目录(重命名文件夹) - -f 强制移动
- -u 只替换已经更新过的文件
- mv 老文件名 新文件名 (重命名文件夹)
基本属性
chmod:更改文件9属性
chmod 777 文件名 赋予文件最高属性
文件内容查看
cat 由第一行开始显示文件内容(常用)
用来读文章或者读取配置时都用cat
tac 从最后一行开始显示,(拼写都与cat相反)(常用)
nl 显示的时候,顺带输出行号 常用!(常用)
看代码时候希望显示行号!
more 一页一页显示文件内容(空格代表翻页,回车向下一行,:f行号)(常用)
less与more类似,但可以往前翻页(空格代表翻页,上下箭头键上下翻页,退出q命令,/向下查找字符串,?向上查询字符串,n继续搜寻下一个,N向上寻找)
head 只看头几行 通过-n参数来控制显示几行
tail 只看尾巴几行 -n 参数要查看几行
ifconfig查看网络配置
可以使用man[]查看文档解释
Linux链接概念
Linux的链接分为两种:硬链接 和 软链接(符号链接)
- 硬链接:A–B,假设B是A的硬链接,那么他们两个指向了同一个文件,允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到重要文件,防止误删!(A被删除B仍然可以访问)
- 软链接:类似Windows的快捷方式,删除源文件,快捷方式访问不了
ln 创建链接 touch创建文件 echo输入字符串
[root@localhost sjp]# touch f1 #创建f1文件
[root@localhost sjp]# ls
f1
[root@localhost sjp]# ln f1 f2 #创建一个硬链接
[root@localhost sjp]# ls
f1 f2
[root@localhost sjp]# ln -s f1 f3 #创建一个软链接
[root@localhost sjp]# ls
f1 f2 f3
[root@localhost sjp]# ll
total 0
-rw-r--r--. 2 root root 0 Aug 14 18:54 f1
-rw-r--r--. 2 root root 0 Aug 14 18:54 f2
lrwxrwxrwx. 1 root root 2 Aug 14 18:54 f3 -> f1
[root@localhost sjp]# echo 'sjpsjpsjp' >> f1 #向f1中输入字符串
[root@localhost sjp]# ls
f1 f2 f3
[root@localhost sjp]# cat f1 #查看f1
sjpsjpsjp
[root@localhost sjp]# cat f2 #查看f2
sjpsjpsjp
[root@localhost sjp]# cat f3 #查看f3
sjpsjpsjp
[root@localhost sjp]# rm -rf f1 #删除f1
[root@localhost sjp]# ls
f2 f3
[root@localhost sjp]# cat f2 #硬链接还在
sjpsjpsjp
[root@localhost sjp]# cat f3 #软连接(符号链接)失效了
cat: f3: No such file or directory
Vim编辑器
vi/vim共分为三种模式:命令模式(Command mode),输入模式(Insert mode) 底线命令模式(Last line mode),作用是:
- 命令模式:更启动vi/vim就进入了命令模式,此模式下敲击键盘会被Vim识别为命令(不是输入字符)。常见的命令:
- i切换到输入模式,输入字符
- x删除当前光标所在处字符
- :切换到底线命令模式,以便于在最后一行输入命令,如果是编辑模式,需要先退出编辑模式! ESC(退出)
- 输入模式:命令模式按i进入输入模式
- 字符按键和shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- 底线命令模式:命令模式按下:(英文冒号)就进入底线命令模式
- w,保存文件
- q,退出程序
输入模式指令:
移动光标的方法
替换搜索方法
删除、复制、粘贴
一般模式切换到编辑模式
底线命令模式
账号管理
useradd 命令添加用户
useradd -选项 用户名
-m:自动创建这个用户的主目录 /home/yu
[root@localhost home]# useradd -m yu
[root@localhost home]# ls
admin yu
Linux中一切皆是文件,这里添加用户本质就是向某一个文件中写入了用户信息
/etc/passwd 查看用户信息 cat /etc/passwd
删除用户userdel
userdel -r yu 删除用户时将他的目录一并删除
root@localhost home]# userdel -r yu
[root@localhost home]# ls
admin
修改用户 usermod
修改用户usermod对应修改内容 修改用户
usermo -d /路径
切换用户
用户密码设置 password 用户
锁定账户
用户组管理
磁盘管理
df 列出文件系统整体的磁盘使用量 du 检查磁盘空间使用
进程管理
命令
ps 查看当前系统正在执行的各种进程信息
ps -xx:
- -a 显示当前终端运行的所有进程信息
- -u 以用户的信息显示进程
- -x 显示后台运行进程的参数
#ps -aux 查看所有进程
ps -aux|grep mysql #查看mysql的进程
#| 管道符按顺序执行 ps -a 结果到ps -u 结果再到后面
# grep查找文件中符合条件的字符串!
对于我们来说,ps-xx|grep 进程名称!过滤进程信息!
ps -ef:可以查看父进程信息
ps -ef|grep mysql #看父进程我们一般通过目录树结构查看
# 进程树
pstree -pu
-p 显示父id
-u 显示用户组
结束进程:杀掉进程,等价于windows结束任务
kill -9 进程id #强制结束进程
Linux基础命令
系统命令:
shutdown -h now 或者 poweroff立刻关机
shutdown -h 2 两分钟后关机
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
cd指令:
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
ls命令:
语法:ls [选项][目录或文件]。
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
pwd指令:
语法: pwd
功能:显示用户当前所在的目录
find指令:
语法:find
功能:搜索目录
mkdir命令:
语法:mkdir [选项] 目录名…
功能:在当前目录下创建一个名为 “”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-m :配置文件的权限,直接配置,不需要看默认权限 (umask)
rmdir命令:
语法:rmdir [-p] 目录名
功能:删除空目录
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
rm命令:
语法:rm [-f-i-r-v][dirName/dir]
功能:删除文件或目录
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文
mv命令:
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
1、视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2、当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3、当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
cp命令:
语法:
cp [-adfilprsu] 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 … directory
功能:拷贝文件和目录
常用选项:
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为链接档的属性(link file),则复制链接档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式链接(hard link)的链接档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号链接档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
编辑文件命令:
vi 文件名 //打开需要编辑的文件
–进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":“进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 “-- 插入 --””
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
操作步骤示例
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
补充
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
文件查看命令:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
cat命令:
语法:cat [-AbEnTv]
常用选项:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
nl命令:
语法:nl [-bnw] 文件
常用选项:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
head命令:
语法:head [-n number] 文件
常用选项:-n :后面接数字,代表显示几行的意思
tail命令:
语法 :tail [-n number] 文件
常用选项:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
打包文件:
tar -zcvf 打包压缩后的文件名 要打包的文件
参数说明:z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
解压文件:
tar -zxvf a.tar //解包至当前目录
tar -zxvf a.tar -C /usr------ //指定解压的位置
unzip test.zip //解压*.zip文件
unzip -l test.zip //查看*.zip文件的内容
防火墙操作:
service iptables status //查看iptables服务的状态
service iptables start //开启iptables服务
service iptables stop //停止iptables服务
service iptables restart //重启iptables服务
chkconfig iptables off //关闭iptables服务的开机自启动
chkconfig iptables on //开启iptables服务的开机自启动
##centos7 防火墙操作s
systemctl status firewalld.service //查看防火墙状态
systemctl stop firewalld.service //关闭运行的防火墙
systemctl disable firewalld.service //永久禁止防火墙服务
修改主机名:
hostnamectl set-hostname 主机名
查看网络:
ifconfig
查看进程:
ps -ef //查看所有正在运行的进程
结束进程:
kill pid //杀死该pid的进程
kill -9 pid //强制杀死该进程
查看链接:
ping IP //查看与此IP地址的连接情况
netstat -an //查看当前系统端口
netstat -an | grep 8080 //查看指定端口