学习环境:CentOS7、 虚拟机:Vmware、 终端工具:XShell5
Linux目录结构
红色标记为常用
Linux命令格式
命令 [选项] [参数1] [参数2]
例如:
显示根目录所有内容: ls -l /
关机:shutdown -h now
重启:shutdown -r now 或 reboot
查看tomcat进程: ps -ef|grep tomcat
目录管理命令
目录的 查看、切换、显示、创建、删除
目录查看: ls [参数]
ls 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 列出全部文件,包含隐藏文件
ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
目录切换: cd [目录名称]
cd /home 进入 '/ home' 目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
显示当前目录: pwd
目录创建: mkdir [目录名称]
mkdir -p /a/b/c 表示 目录(a,b,c)名称存在,如果目录不存在的就新创建一个,同理 目录删除也是如此
目录删除: rmdir [目录名称]
路径格式
绝对路径 :
从根目录 / 开始写起
相对路径 :
当前目录 .
上级目录 ..
家目录 ~
ps: 一般情况 ~指 /root/
文件的编辑 VI
命令模式
h j k l -->左 下 上 右
dd 剪切当前行
yy 复制
p 下一行黏贴 P 上一行黏贴
a在光标后插入 A在当行末插入
i在光标前插入 I在当行首插入
o在当前行之下插入 O在上一行插入
编辑模式
.................
最末行模式
:set nu 显示行号
:w 保存
:wq 保存并退出
:q! 不保存退出
文件的创建/查看
创建: touch 文件名
查看:cat/more/less/head/tail/....
目录及文件管理命令
复制
cp [参数] 来源文件 目标文件
(用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下)
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
移动
mv [参数] 来源文件 目标文件
(用于移动文件、目录或更名,move之意)
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
ps: cp、mv在复制、移动时候可以进行重命名 例:
[root@localhost ~]# ls
aaa anaconda-ks.cfg a.txt bbb b.txt
[root@localhost ~]# mv a.txt ca.txt
[root@localhost ~]# ls
aaa anaconda-ks.cfg bbb b.txt ca.txt
删除
rm [参数] 文件或目录
(用于删除文件或目录,remove之意)
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
ps: 小心使用 rm -rf /*
查找
find 目录 [-name/user/size] [参数]
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -name *file* 从 '/' 开始进入根文件系统搜索 包含file名字的文件和目录 * 表示通配符
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
用户管理命令
用户管理
查看: who
创建用户: useradd [-g 群组] 用户名
设置密码: passwd 用户名
删除用户: userdel [-r] 用户名
ps: -r 表示 删除用户登入目录以及目录中所有文件
群组管理
查看群组: groups [用户名]
创建群组: groupadd 群组名
删除群组: groupdel 群组名
用户群组修改:usermod [-g 群组名] 用户名
权限 管理命令
权限、角色的作用
符号 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 查看文件 | 查看目录 |
w | 写权限 | 修改文件 | 改目录内容 |
x | 执行权限 | 执行文件 | 进入目录 |
所有者 | 所属组 | 其他用户 | |
---|---|---|---|
文件/目录 | rwx | rwx | rwx |
下图所示:
-rw-r--r--. 1 root root 439 3月 28 14:22 authconfig
第一个数 - 表示文件、d 表示 目录、l 表示 快捷方式
rw- 表示 所有者权限
r-- 表示 所属组权限
r-- 表示 其他组权限
root root 表示 当前用户,所属分组
权限、角色的设置
角色修改:
修改所有者: chown [-R] 用户名 文件或目录
修改所有者和组: chown [-R] 用户名:组名 文件或目录
修改所属组: chgrp [-R] 组名 文件或目录
ps: chown [-R] 表示递归修改
权限修改-方式1:
chmod [-R] xyz 文件或目录
x 所有者权限 y 所属组权限 z 其他用户权限
r:4 w:2 x:1 rwx数字总和即权限
权限修改-方式2:
chmod [-R] xyz 文件或目录
x 角色 u g o a 分别代表所有者、所属组、其他用户、所有角色
y 设置 + - = 分别代表增加、减少、设置
z 权限 r w x
压缩/解压缩
常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
压缩命令、解压缩命令
tar [-ctxzjJvf] 压缩文件 [源文件]
c:打包压缩 t:查看内容 x:解打包/压缩
z:使用gzip方式 j:使用bzip2方式 J:使用xz方式
v:显示过程 f:指定压缩包名
将 a.txt b.txt 压缩 为 xxx.tar
[root@localhost ~]# tar -cvf xxx.tar a.txt b.txt
将 xxx.tar 解压缩
[root@localhost ~]# tar xvf xxx.tar
软件的安装与卸载
源码包安装
下载源码包(curl、wget)
解压 (tar)
进入到该目录(cd)
编译前配置(./configure)
编译(make)
编译安装(make install)
ps: 编译安装时候软件包依赖解决
删除 make clean 然后直接删除目录
rpm包安装
下载rpm安装包
rpm -ivh 软件包
-i 安装 -v 显示详细信息 -h 显示进度
查询是否安装 rpm -q 安装包
查询包信息 rpm -qi 安装包
查询安装位置 rpm -ql 安装包
卸载 rpm -e 安装包
yum安装管理rpm包-----(常用)
查询可以安装的软件包 yum list 名称
安装 yum [-y] install 软件包
-y 自动回答yes
常用命令 总结
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
vim / vi 创建/编辑文件
insert 编辑
:q 退出
:q! 强制退出
:wq 保存并退出
esc 退出编辑
echo 创建带有内容的文件
cat 查看文件内容
tar 打包压缩
-c 建立压缩档案
-x 解压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示所有过程
-f 使用档名
cp 拷贝
-r 递归拷贝目录
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
chmod 变更文件或目录的权限
kill 杀进程
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
date 显示系统时间
more / less 分页显示文本文件内容
head / tail 显示文件头、尾内容
sudo 用来以其他身份来执行命令,预设的身份为root
su 换当前用户身份到其他用户身份
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态
-e 显示所有进程
-f 全格式
du 查看目录大小
-s 只显示目录大小的总合
-h 带单位显示目录大小
df 查看磁盘大小df
-h 带有单位显示磁盘信息
free 查看内存情况
-b 单位(bytes)
-k 单位(KB)
-m 单位(MB)
-g 单位(GB)
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
-ano 查看某个端口是否被占用
-tlnp 根据端口查找PID
man 查看Linux中的指令帮助
clear 清屏
kill 杀进程
reboot 重启系统
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
看日志
tail -n 100 abc.log
##显示abc.log最后100行数据
tail -f notes.log
##此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
more abc.log | grep -C 5 ‘10001’ #打印匹配行的前后5行
more abc.log | grep -A 5 ‘10001’ #打印匹配行的后5行
more abc.log | grep -B 5 ‘10001’ #打印匹配行的前5行
less【常用】
less nohup.out 使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件
b键 前一页,空格键下一页
上下键滚动查看
?要搜索的字符 n键上一个关键词 N键下一个关键词
#查看启动的进程
ps -ef |grep 关键字 |grep -v grep
#杀死进程
kill -9 进程号(补充批量Kill:ps -ef|grep credit|grep -v grep|cut -c 9-15|xargs kill -9)