目录结构
根目录:/ 处于Linux文件系统树形结构顶端
加粗样式
bin:存放经常使用命令的目录
boot:存放启动Linux时使用的一些核心文件
dev:存放Linux外部设备
etc:用来存放所有系统管理所需要的配置文件和子目录
home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
lost+find:这个目录一般情况下是空的,当系统非法关机,这里会存放一些文件
mnt:这里面有四个目录,为了让用户临时挂载别的文件系统。
proc:这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
root:该目录为系统管理员,也称作超级权限者的用户主目录。
sbin:这里存放的是喜用管理员使用的系统管理程序。
tmp:这个目录是用来存放一些临时文件的。
usr:这个目录存放了我们常用的程序和文件
常用命令
查看ip地址:ifconfig
防火墙
临时关闭防火墙服务:service iptables stop
永久关闭防火墙服务:chkconfig iptables off
目录类操作
查看当前所在的路径:pwd
默认root用户登录在那个root目录下
进入指定目录:cd 目录名
返回上一层:cd …
直接进入根目录: cd /
进入目录的两种写法:
绝对路径:从根目录一层一层往下找
相对路径:相对于当前位置 cd … test
查看当前目录有哪些文件或者子目录:ls
显示所有文件和目录包括隐藏目录或文件:ls -a
显示文件或者目录的详细信息:ls -la
开机关机
立即关机:shutdown -h now
定时关机:shutdown 3:30
定时关机:shutdown +5
注销:logout
重启:reboot
用户管理类
添加用户:useradd 用户名
新建用户会创建用用户名命名的组
-g 指定该用户的主属组·,一个用户永远只有一个主属组,创建的时候可以指定,也可以后期修改
-G 指定该用户的附属组,一个用户可以有多个附属组,同时主属组也会添加到附属组
创建用户时指定所属组:
useradd -g root -G root sunzexu /sunzexu是新创建的用户
添加密码
passwd sunzexu
修改用户usermod
usermod -g root -G root ,class, sunzexu
删除用户 userdel
-r 递归删除该用户所以资料和账户信息
-f 强制删除
组的增删改
增加一个组:groupadd
列如添加一个组组名叫class:groupadd class
删除组:groupdel
删除组:groupdel 组名
修改组:groupmod/主要用来修改组名
修改组名:groupmod -n 修改后新组名 旧组名
groupmod -n lt loadtest -n后面 lt代表的新名字 loadtest 旧的组名字
查看有哪些组:cat /etc/group
查看zhangsan用户的详细信息:id zhangsan
查看zhangsan组的信息:groups zhangsan
查询当前登录的用户:whoami
文档目录的管理
创建一个文件夹:mkdir 目录名
同时创建多个:mkdir class class1
多级目录创建:mkidir -p father son
重命名一个文件夹mv
mv还有另一个意思,剪贴一个文件夹
修改文件名:mv 旧文件名 新文件名
移动并改名: mv ky /home/hhh
如果mv的第二个参数是个路径的话,则执行剪切
mv /home/ky /opt
当前在home下,但是要把tmp/ky,剪切到opt
命令和参数之间必须有空格,参数和后边文件或者路径之间应该有空格
文档类操作
wc/可以统计文件中的字符数,单词数以及行数
-w 按照单词数统计
wc -w 文档名
-l 按照行数进行统计
wc -l 文档名
-m 根据字符来进行统计
wc -m 文档名
cp 复制拷贝
-r 递归拷贝 凡是在拷贝文件路径的时候,必须加-r
cp /home/文档名 ./ 将home中的文档拷贝到当前目录 ./表示当前目录是根目录
rm
r 表示递归删除
f强制删除,不会询问
rm本身只是删除文件,删除路径需要添加rf
rm -rf 1.txt 强制删除1.txt
rm -rf / 慎重使用,会删除一切
创建文档
方式一:touch 文档名
*** 注意:touch创建的文件为空文件,如果要给里面添加内容,则需要使用vi编辑器
方式二:
使用vi创建并且打开进行编辑文件,如果vi创建打开文件里面不添加内容就直接退出,那文件不会创建成功
vi 文件名字
三种模式:1、命令行模式 2编辑默认 3、可视化模式(visual模式)
刚进入是命令行模式,进入编辑模式用i
w 保存
q 退出
q! 强制退出
wq 保存并退出
wq! 强制保存并退出
vi +5 mysql.md 指定打开文件时光标移动到第五行
G 移动到文件内容的末尾
gg 移动到文件内容的首行
grep查找
grep/通过模式条件对文件进行查找
例子如下:
grep mail /etc/passwd(查找在 /etc/passwd路径下含有mail内容的文件)
想知道查找内容是哪一行加 -n例子如下:
grep -n mail /etc/passwd
管道操作符 |
将管道操作符左边命令的输出作为右边命令的输入
cat /ect/passwd | grep root
列如 cat 1.txt | grep 5.6
查找以d开头的字符串: ls -la | grep ^d
指除了以d开头之外的所有内容: ls -la | gerp [d]
-c 统计符合结果条件的行数
grep -c ‘inser’ class.txt / 统计class中insert有几行
-n 查看行数
grep -n “INSERT” agileone.sql
在显示符合样式的那一行之前,标示出该行的列数编号。
-v 看除了insert之外剩余的内容
grep -v “INSERT” agileone.sql
查看除了ls之外(-v)的行。并显示行号(-n)
cat /etc/passwd | grep -v -n ls
sort排序
sort
将文本文件的内容加以排序
sort 4.txt
给字母排序,默认是根据ASCII码表
sort 给数字排序由于ASCII码表,只有0-9对应,过于大的则无法排序,如果要给数字排序要加-n
-n:按数字进行排序
例如:sort -n 2.txt
-u:去重
但是如果数字有重复,例如多个1,需要加-n ,例如:sort -u -n 2.txt
>> 追加重定向
例如在使用sort排序后,可使用重定向功能,重定向到一个新的文件 例如; sort -u -n 2.txt >> num
> 覆盖重定向
原文件内容被覆盖
find
find
在系统中查找具有指定特征的文件或者路径
-name 根据文件名进行查找
例如; find . -name “*.txt” 在当前目录下查找出所有以.txt结尾的文件
-perm
find . -perm 775 在当前目录下查找权限是775的所有文件
-user 根据当前用户来,按照文件拥有者查找
-nouser 查找没有用户的文件
find . -nouser
-group 按照文件所属组进行查找
find . -group test3
-type,根据类型来查找
find . -type f
f代表文件
find . -type d
d代表路径
不想查找用感叹号 !
find . ! -type f 不查找文件
等价于find . -type d
-exec
find . -name "*.txt" -exec rm -rf {} \;
最后面是分号
find . -name "*.sql" -exec ls -la {} \;
查找文件名后缀以.sql结尾,的文件的详细信息
{}用来存放前面find出来的结果
find . -name "*.txt" -exec cp {} /opt \;
-ok
用法跟exec完全一致,区别在与会询问你是否执行
cat
显示文本文档的内容
-n 显示行号
可以多个文件同时显示,例如:cat 1.txt agone
cat -n agileone.sql test.sh
head
tail
从末尾开始显示指定行数 tail -2 agone
-n 指定显示几行
more
分页显示
more +2 -3 agone 从第二行开始,每次显示三行
+ 从多少行开始
- 每页显示行数
文件权限设置
一个用户能看到那些文件,完全取决于,用户自身身份,和所属组
文件权限的种类
r读权限
w写权限
x执行权限
drwxrwxrwt
d第一位
d:路径类型
- :文件类型
l : 软连接
第一个:rwx
拥有者的权限
第二个:rwx
文件所属组的权限
第三个rwx
其他人的权限
chmod
一种根据数字来改变权限
r:4
w:2
x:1
根据角色来修改权限
u:代表文件所有者 u +r ug+r
g:文件所属组
o:其他人
a: 所有人
+ : 增加对应权限
-:去掉对应权限
chgrp
chgrp root 1.txt
改变文件1.txt的所属组为root
chown
chown tom 文件名
改变文件1.txt的所有者为tom
-R 修改所有文件的权限(R递归)
chmod -R a+rwx *.txt
给所有.txt文档赋予权限
diff
比较两个文件的内容上的差异
例如: diff 1.txt 2.txt
whereis 命令名
查找系统二进制文件的位置 例如whereis find
which
在系统的环境变量中查找
which python
alias
给命令 取别名 例如:alias la=‘ls -a’
unalias la
网络通信
ping
ifconfig
查询ip地址
netstat
查询端口使用情况
-ano
例如 netstat -ano | grep 3306
备份压缩
tar文件
解压:tar -zxvf f必须放在最后 v代表解压时打印出所有文件
压缩:tar -zcvf
例如:tar -zcvf /hello.tar.gz agileone.sql
注意:生成文件的后缀名必须是tar.gz
-C 解压到指定路径
tae -zvcf 1.tar.gz -C home
zip 文件
需要先安装:yum -用install zip
压缩/例如:zip /opt/aaa.zip hello(将根目录下opt下hello文件压缩成名为aaa.zip)
解压:需要先安装 yum -y insall unzip
解压: unzip aaa,zip
-d 解压到指定路径:unzip aaa.zip -d /home