linux,xshell命令
一. linux
1.Linux发行版
<1> 常见的发行版本如下:
Ubuntu
Redhat
Fedora
openSUSE
Linux Mint
Debian
Manjaro
Mageia
CentOS
Arch
2.Linux和Windows区别
比较 |
Windows |
Linux |
费用 |
收费且很贵 |
Linux免费或少许费用 |
软件与支持 |
数量和质量的优势,不过大部分为收费软件;由微软官方提供支持和服务 |
开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的Linux开发者和自由软件社区提供支持 |
安全性 |
三天两头打补丁安装系统安全性更新,还是会中病毒木马 |
要说Linux没有安全问题,那当然是不可能的,这一点仁者见仁智者见智,相对来说肯定比Windows平台更加安全 |
使用习惯 |
普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成一切操作,用户上手容易入门简单; |
兼具图形界面操作和完全的命令行操作,可以用键盘完成一切操作,新手入门较困难,需要一些学习和指导,一旦熟练以后效率极高 |
可定制型 |
封闭的,系统的可定制性很差 |
开源,可定制性很强 |
应用场景 |
桌面操作系统主要使用Windows |
支撑百度、谷歌、淘宝等应用软件和服务,是后台成千上万的Linux服务器主机,世界上大部分软件和服务都运行Linux上的 |
3.不同应用领域的主流操作系统
l 桌面操作系统
Windows 系列: 用户群体大
macOS: 适合于开发人员
Linux: 应用软件少
服务器操作系统
Linux: 1、安全、稳定、免费 2、占有率高
Windows Server: 1、付费 2、占有率低
4.Linux文件
Linux系统中一切皆文件。
5.Linux目录结构简介
目录结构 |
说明 |
/bin |
是Binary的缩写,这个目录存放着最经常使用的命令 |
/sbin |
s就是Super User的意思,这里存放的系统管理员使用的系统管理程序 |
/home |
存放普通用户的主目录,在Linux中每个用户都有自己的一个目录,一般该目录是以用户的账户命名 |
/root |
该目录为系统管理员,也称作超级权限者的用户主目录 |
/lib |
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里面的DLL文件。几乎所有的应用程序都需要用到这些共享库 |
/etc |
所有的系统管理所需要的配置文件和子目录 |
/usr |
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录 |
/boot |
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里 |
/proc |
这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息 |
/srv |
Servic的缩写,该目录存放一些服务启动之后需要提取的数据 |
/sys |
这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs |
/tmp |
这个目录是用来存放一些临时文件的 |
/dev |
类似于Windows的设备管理器,把所有的硬件用文件的形式存储 |
/media |
Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下面 |
/mnt |
系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了 |
/opt |
这是给主机额外安装软件所摆放的目录。比如你安装一个MySQL数据则就可以放到这个目录下。默认是空的。 |
/var |
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括日志文件 |
/selinux |
Selinux是一种安全自系统,它能控制程序只访问特定文件 |
/lost+found |
这个目录一般情况下空的,当系统非法关机后,这里就存放了一些文件 |
6.VI/VIM编辑器
<1>一般模式
语法 |
功能描述 |
yy |
复制光标当前一行 |
y数字y |
复制一段(从第几行到第几行) |
p |
箭头移动到目的行粘贴 |
u |
撤销上一步 |
dd |
删除光标当前行 |
d数字d |
删除光标(含)后多少行 |
x |
删除一个字母,相当于del,向后删 |
X |
删除一个字母,相当于Backspace,向前删 |
yw |
复制一个词 |
dw |
删除一个词 |
shift+^ |
移动到行头 |
shift+$ |
移动到行尾 |
gg或者1+G |
移动到页头 |
G |
移动到页尾 |
数字+G(先输入数字,在按G) |
移动到目标行 |
<2>编辑模式
按键 |
功能 |
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标行的下一行 |
I |
光标所在行最前 |
A |
光标所在行最后 |
O |
当前光标行的上一行 |
<2.1>退出编辑模式
按『Esc』键
<3>指令模式
<3.1>基本语法
命令 |
功能 |
:w |
保存 |
:q |
退出 |
:! |
强制执行 |
/ 要查找的词 |
n 查找下一个,N 往上查找 |
? 要查找的词 |
n是查找上一个,N是往下查找 |
:set nu |
显示行号 |
:set nonu |
关闭行号 |
ZZ(shift+zz) |
没有修改文件直接退出,如果修改了文件保存后退出 |
7.关闭防火墙
<1>service 后台服务管理
<1.1>基本语法
service 服务名 start (功能描述:开启服务)
service 服务名 stop (功能描述:关闭服务)
service 服务名 restart (功能描述:重新启动服务)
service 服务名 status (功能描述:查看服务状态)
<2>chkconfig设置后台服务的自启配置
<2.1>基本语法
chkconfig (功能描述:查看所有服务器自启配置)
chkconfig 服务名 off (功能描述:关掉指定服务的自动启动)
chkconfig 服务名 on (功能描述:开启指定服务的自动启动)
chkconfig 服务名 --list (功能描述:查看服务开机启动状态)
<3>关闭防火墙
<3.1>临时关闭防火墙
<3.1.1>查看防火墙状态
[root@hadoop100桌面]# service iptables status
<3.1.2>临时关闭防火墙
[root@hadoop100桌面]# service iptables stop
<3.2>开机启动时关闭防火墙
<3.2.1>查看防火墙开机启动状态
[root@hadoop100桌面]#chkconfig iptables --list
<3.2.2>设置开机时关闭防火墙
[root@hadoop100桌面]#chkconfig iptables off
二.XSHELL
1.常用基本命令
<1.1>man 获得帮助信息
<1,1,1>. 基本语法
man [命令或配置文件] (功能描述:获得帮助信息)
<1.1.2>.显示说明
信息 |
功能 |
NAME |
命令的名称和单行描述 |
SYNOPSIS |
怎样使用命令 |
DESCRIPTION |
命令功能的深入讨论 |
EXAMPLES |
怎样使用命令的例子 |
SEE ALSO |
相关主题(通常是手册页) |
<1.1.3>案例实操
(1)查看ls命令的帮助信息
[root@hadoop101 ~]# man ls
2. help 获得shell内置命令的帮助信息
<2.1>.基本语法
help 命令 (功能描述:获得shell内置命令的帮助信息)
<2.2>.案例实操
(1)查看cd命令的帮助信息
[root@hadoop101 ~]# help cd
3.常用快捷键
常用快捷键 |
功能 |
ctrl + c |
停止进程 |
ctrl+l |
清屏;彻底清屏是:reset |
ctrl + q |
退出 |
善于用tab键 |
提示(更重要的是可以防止敲错) |
上下键 |
查找执行过的命令 |
ctrl +alt |
linux和Windows之间切换 |
4. 文件目录类
<4.1> pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
1.基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
2.案例实操
(1)显示当前工作目录的绝对路径
[root@hadoop101 ~]# pwd
/root
<4.2> ls 列出目录的内容
ls:list 列出目录内容
1.基本语法
ls [选项] [目录或是文件]
2.选项说明
选项 |
功能 |
-a |
全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l |
长数据串列出,包含文件的属性与权限等等数据;(常用) |
5. cd 切换目录
cd:Change Directory切换路径
1.基本语法
cd [参数]
2.参数说明
参数 |
功能 |
cd 绝对路径 |
切换路径 |
cd相对路径 |
切换路径 |
cd ~或者cd |
回到自己的家目录 |
cd - |
回到上一次所在目录 |
cd .. |
回到当前目录的上一级目录 |
cd -P |
跳转到实际物理路径,而非快捷方式路径 |
3.案例实操
(1)使用绝对路径切换到root目录
[root@hadoop101 ~]# cd /root/
(2)使用相对路径切换到“公共的”目录
[root@hadoop101 ~]# cd 公共的/
(3)表示回到自己的家目录,亦即是 /root 这个目录
[root@hadoop101 公共的]# cd ~
(4)cd- 回到上一次所在目录
[root@hadoop101 ~]# cd -
(5)表示回到当前目录的上一级目录,亦即是 “/root/公共的”的上一级目录的意思;
[root@hadoop101 公共的]# cd ..
6. mkdir 创建一个新的目录
mkdir:Make directory 建立目录
1.基本语法
mkdir [选项] 要创建的目录
2.选项说明
表1-10 选项说明
选项 |
功能 |
-p |
创建多层目录 |
3.案例实操
(1)创建一个目录
[root@hadoop101 ~]# mkdir xiyou
[root@hadoop101 ~]# mkdir xiyou/mingjie
(2)创建一个多级目录
[root@hadoop101 ~]# mkdir -p xiyou/dssz/meihouwang
7 .rmdir 删除一个空的目录
rmdir:Remove directory 移动目录
1.基本语法:
rmdir 要删除的空目录
2.案例实操
(1)删除一个空的文件夹
[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang
8. touch 创建空文件
1.基本语法
touch 文件名称
2.案例实操
[root@hadoop101 ~]# touch xiyou/dssz/sunwukong.txt
9. cp 复制文件或目录
1.基本语法
cp [选项] source dest (功能描述:复制source文件到dest)
2.选项说明
选项 |
功能 |
-r |
递归复制整个文件夹 |
3.参数说明
参数 |
功能 |
source |
源文件 |
dest |
目标文件 |
4.案例实操
(1)复制文件
[root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/
(2)递归复制整个文件夹
[root@hadoop101 ~]# cp -r xiyou/dssz/ ./
10. rm 移除文件或目录
1.基本语法
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
2.选项说明
表1-13 选项说明
选项 |
功能 |
-r |
递归删除目录中所有内容 |
-f |
强制执行删除操作,而不提示用于进行确认。 |
-v |
显示指令的详细执行过程 |
3. 案例实操
(1)删除目录中的内容
[root@hadoop101 ~]# rm xiyou/mingjie/sunwukong.txt
(2)递归删除目录中所有内容
[root@hadoop101 ~]# rm -rf dssz/
11. mv 移动文件与目录或重命名
1.基本语法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
2.案例实操
(1)重命名
[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
(2)移动文件
[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
12. cat 查看文件内容
查看文件内容,从第一行开始显示。
1.基本语法
cat [选项] 要查看的文件
2.选项说明
选项 |
功能描述 |
-n |
显示所有行的行号,包括空行。 |
3.经验技巧
一般查看比较小的文件,一屏幕能显示全的。
4.案例实操
(1)查看文件内容并显示行号
[jinghang@hadoop101 ~]$ cat -n houge.tx
13. more 文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
1.基本语法
more 要查看的文件
2.操作说明
操作 |
功能说明 |
空白键 (space) |
代表向下翻一页; |
Enter |
代表向下翻『一行』; |
q |
代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F |
向下滚动一屏 |
Ctrl+B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |
3.案例实操
(1)采用more查看文件
[root@hadoop101 ~]# more smartd.conf
14. less 分屏显示文件内容
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
1.基本语法
less 要查看的文件
2.操作说明
操作 |
功能说明 |
空白键 |
向下翻动一页; |
[pagedown] |
向下翻动一页 |
[pageup] |
向上翻动一页; |
/字串 |
向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 |
向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q |
离开 less 这个程序; |
4.案例实操
(1)采用less查看文件
[root@hadoop101 ~]# less smartd.conf
15. echo
echo输出内容到控制台
- 基本语法
echo [选项] [输出内容]
选项:
-e: 支持反斜线控制的字符转换
控制字符 |
作用 |
\\ |
输出\本身 |
\n |
换行符 |
\t |
制表符,也就是Tab键 |
- 案例实操
[jinghang@hadoop101 ~]$ echo "hello\tworld"
hello\tworld
[jinghang@hadoop101 ~]$ echo -e "hello\tworld"
hello world
16. head 显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
- 基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
2.选项说明
选项 |
功能 |
-n <行数> |
指定显示头部内容的行数 |
3.案例实操
(1)查看文件的头2行
[root@hadoop101 ~]# head -n 2 smartd.conf
17. tail 输出文件尾部内容
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
1. 基本语法
(1)tail 文件 (功能描述:查看文件后10行内容)
(2)tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
2. 选项说明
选项 |
功能 |
-n<行数> |
输出文件尾部n行内容 |
-f |
显示文件最新追加的内容,监视文件变化 |
3.案例实操
(1)查看文件头1行内容
[root@hadoop101 ~]# tail -n 1 smartd.conf
(2)实时追踪该档的所有更新
[root@hadoop101 ~]# tail -f houge.txt
18. > 覆盖 和 >> 追加
1.基本语法
(1)ll >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ll >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件
2.案例实操
(1)将ls查看信息写入到文件中
[root@hadoop101 ~]# ls -l>houge.txt
(2)将ls查看信息追加到文件中
[root@hadoop101 ~]# ls -l>>houge.txt
(3)采用echo将hello单词追加到文件中
[root@hadoop101 ~]# echo hello>>houge.txt
19. ln 软链接
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
1.基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
2.经验技巧
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
3.案例实操
(1)创建软连接
[root@hadoop101 ~]# mv houge.txt xiyou/dssz/
[root@hadoop101 ~]# ln -s xiyou/dssz/houge.txt ./houzi
[root@hadoop101 ~]# ll
lrwxrwxrwx. 1 root root 20 6月 17 12:56 houzi -> xiyou/dssz/houge.txt
(2)删除软连接
[root@hadoop101 ~]# rm -rf houzi
(3)进入软连接实际物理路径
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
20. history 查看已经执行过历史命令
1.基本语法
history (功能描述:查看已经执行过历史命令)
2.案例实操
(1)查看已经执行过的历史命令
[root@hadoop101 test1]# history
21. 时间日期类
1.基本语法
date [OPTION]... [+FORMAT]
2.选项说明
表1-20
选项 |
功能 |
-d<时间字符串> |
显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> |
设置系统日期时间 |
3.参数说明
表1-21
参数 |
功能 |
<+日期时间格式> |
指定显示时使用的日期时间格式 |
22. date 显示当前时间
1.基本语法
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
2.案例实操
(1)显示当前时间信息
[root@hadoop101 ~]# date
2017年 06月 19日 星期一 20:53:30 CST
(2)显示当前时间年月日
[root@hadoop101 ~]# date +%Y%m%d
20170619
(3)显示当前时间年月日时分秒
[root@hadoop101 ~]# date "+%Y-%m-%d %H:%M:%S"
2017-06-19 20:54:58
23. date 显示非当前时间
1.基本语法
(1)date -d '1 days ago' (功能描述:显示前一天时间)
(2)date -d '-1 days ago' (功能描述:显示明天时间)
2.案例实操
(1)显示前一天
[root@hadoop101 ~]# date -d '1 days ago'
2017年 06月 18日 星期日 21:07:22 CST
(2)显示明天时间
[root@hadoop101 ~]#date -d '-1 days ago'
2017年 06月 20日 星期日 21:07:22 CST
24. date 设置系统时间
1.基本语法
date -s 字符串时间
2.案例实操
(1)设置系统当前时间
[root@hadoop101 ~]# date -s "2017-06-19 20:52:18"
25. 查看日历
1.基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
2.选项说明
选项 |
功能 |
具体某一年 |
显示这一年的日历 |
3.案例实操
(1)查看当前月的日历
[root@hadoop101 ~]# cal
(2)查看2017年的日历
[root@hadoop101 ~]# cal 2017
26.用户管理命令
<26.1> useradd 添加新用户
1.基本语法
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
2.案例实操
(1)添加一个用户
[root@hadoop101 ~]# useradd tangseng
[root@hadoop101 ~]#ll /home/
<26.2>passwd 设置用户密码
1.基本语法
passwd 用户名 (功能描述:设置用户密码)
2.案例实操
(1)设置用户的密码
[root@hadoop101 ~]# passwd tangseng
<26.3> id 查看用户是否存在
1.基本语法
id 用户名
2.案例实操
(1)查看用户是否存在
[root@hadoop101 ~]#id tangseng
<26.4> cat /etc/passwd 查看创建了哪些用户
1)基本语法
[root@hadoop101 ~]# cat /etc/passwd
<26.5> su 切换用户
su: swith user 切换用户
1.基本语法
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
2.案例实操
(1)切换用户
[root@hadoop101 ~]#su tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@hadoop101 ~]#exit
[root@hadoop101 ~]#su - tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tangseng/bin
<26.6> userdel 删除用户
1.基本语法
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
2.选项说明
表1-23
选项 |
功能 |
-r |
删除用户的同时,删除与用户相关的所有文件。 |
3.案例实操
(1)删除用户但保存用户主目录
[root@hadoop101 ~]#userdel tangseng
[root@hadoop101 ~]#ll /home/
(2)删除用户和用户主目录,都删除
[root@hadoop101 ~]#useradd zhubajie
[root@hadoop101 ~]#ll /home/
[root@hadoop101 ~]#userdel -r zhubajie
[root@hadoop101 ~]#ll /home/
<26.7> who 查看登录用户信息
1.基本语法
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名)
2.案例实操
(1)显示自身用户名称
[root@hadoop101 opt]# whoami
(2)显示登录用户的用户名
[root@hadoop101 opt]# who am i
<26.8> sudo 设置普通用户具有root权限
1.添加jinghang用户,并对其设置密码。
[root@hadoop101 ~]#useradd jinghang
[root@hadoop101 ~]#passwd jinghang
2.修改配置文件
[root@hadoop101 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
jinghang ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
jinghang ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用jinghang帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
3.案例实操
(1)用普通用户在/opt目录下创建一个文件夹
[jinghang@hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown jinghang:jinghang module/
<26.9> usermod 修改用户
1.基本语法
usermod -g 用户组 用户名
2.选项说明
选项 |
功能 |
-g |
修改用户的初始登录组,给定的组必须存在 |
3.案例实操
(1)将用户加入到用户组
[root@hadoop101 opt]#usermod -g root zhubajie
27.用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
<27.1> groupadd 新增组
1.基本语法
groupadd 组名
2.案例实操
(1)添加一个xitianqujing组
[root@hadoop101 opt]#groupadd xitianqujing
<27.2> groupdel 删除组
1.基本语法
groupdel 组名
2.案例实操
(1)删除xitianqujing组
[root@hadoop101 opt]# groupdel xitianqujing
<27.3> groupmod 修改组
1.基本语法
groupmod -n 新组名 老组名
2.选项说明
选项 |
功能描述 |
-n<新组名> |
指定工作组的新组名 |
3.案例实操
(1)修改jinghang组名称为jinghang1
[root@hadoop101 ~]#groupadd xitianqujing
[root@hadoop101 ~]# groupmod -n xitian xitianqujing
<27.4> cat /etc/group 查看创建了哪些组
1.基本操作
[root@hadoop101 jinghang]# cat /etc/group
28. 文件权限类
<28.1> 文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
1.从左到右的10个字符表示,如图1-154所示:
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other
2.rxw作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
3.案例实操
[root@hadoop101 ~]# ll
总用量 104
-rw-------. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz
lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.tx
文件基本属性介绍,如图1-155所示:
图1-155 文件基本属性介绍
(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法
ln [原文件] [目标文件]
[root@hadoop101 ~]# ln xiyou/dssz/houge.txt ./hg.txt
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
[root@hadoop101 ~]# ls -al xiyou/
总用量 16
drwxr-xr-x. 4 root root 4096 1月 12 14:00 .
dr-xr-x---. 29 root root 4096 1月 12 14:32 ..
drwxr-xr-x. 2 root root 4096 1月 12 14:30 dssz
drwxr-xr-x. 2 root root 4096 1月 12 14:04 mingjie
<28.2> chmod 改变权限
1.基本语法
如图1-156所示
第一种方式变更权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
2.经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
3.案例实操
(1)修改文件使其所属主用户具有执行权限
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
(2)修改文件使其所属组用户具有执行权限
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
<28.3> chown 改变所有者
1.基本语法
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
2.选项说明
选项 |
功能 |
-R |
递归操作 |
3.案例实操
(1)修改文件所有者
[root@hadoop101 ~]# chown jinghang houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 jinghang root 551 5月 23 13:02 houge.txt
(2)递归改变文件所有者和所有组
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 root root 4096 9月 3 21:20 xiyou
[root@hadoop101 xiyou]# chown -R jinghang:jinghang xiyou/
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 jinghang jinghang 4096 9月 3 21:20 xiyou
<28.4> chgrp 改变所属组
1.基本语法
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
2.案例实操
(1)修改文件的所属组
[root@hadoop101 ~]# chgrp root houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 jinghang root 551 5月 23 13:02 houge.txt
29. 搜索查找类
<29.1> find 查找文件或者目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
1.基本语法
find [搜索范围] [选项]
2.选项说明
选项 |
功能 |
-name<查询方式> |
按照指定的文件名查找模式查找文件 |
-user<用户名> |
查找属于指定用户名所有文件 |
-size<文件大小> |
按照指定的文件大小查找文件。 |
3.案例实操
(1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name “*.txt”
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user jinghang
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800
<29.2>grep 过滤查找及“|”管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
1.基本语法
grep 选项 查找内容 源文件
2.选项说明
选项 |
功能 |
-n |
显示匹配行及行号。 |
3.案例实操
(1)查找某文件在第几行
[root@hadoop101 ~]# ls | grep -n test
<29.3> which 查找命令
查找命令在那个目录下
1.基本语法
which 命令
2.案例实操
which ll
30. 压缩和解压类
<30.1> gzip/gunzip 压缩
1.基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
2.经验技巧
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
3.案例实操
(1)gzip压缩
[root@hadoop101 ~]# ls
test.java
[root@hadoop101 ~]# gzip houge.txt
[root@hadoop101 ~]# ls
houge.txt.gz
(2)gunzip解压缩文件
[root@hadoop101 ~]# gunzip houge.txt.gz
[root@hadoop101 ~]# ls
houge.txt
<30.2> zip/unzip 压缩
1.基本语法
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
2.选项说明
zip选项 |
功能 |
-r |
压缩目录 |
unzip选项 |
功能 |
-d<目录> |
指定解压后文件的存放目录 |
3.经验技巧
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
4.案例实操
(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip houma.zip houge.txt bailongma.txt
adding: houge.txt (stored 0%)
adding: bailongma.txt (stored 0%)
[root@hadoop101 opt]# ls
houge.txt bailongma.txt houma.zip
(2)解压 mypackage.zip
[root@hadoop101 ~]# unzip houma.zip
Archive: houma.zip
extracting: houge.txt
extracting: bailongma.txt
[root@hadoop101 ~]# ls
houge.txt bailongma.txt houma.zip
(3)解压mypackage.zip到指定目录-d
[root@hadoop101 ~]# unzip houma.zip -d /opt
[root@hadoop101 ~]# ls /opt/
<30.3> tar 打包
1.基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
2.选项说明
选项 |
功能 |
-z |
打包同时压缩 |
-c |
产生.tar打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名 |
-x |
解包.tar文件 |
3.案例实操
(1)压缩多个文件
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houge.txt
bailongma.txt
[root@hadoop101 opt]# ls
houma.tar.gz houge.txt bailongma.txt
(2)压缩目录
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/dssz/
xiyou/dssz/houge.txt
(3)解压到当前目录
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
(4)解压到指定目录
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@hadoop101 ~]# ll /opt/
linux,xshell命令的更多相关文章
- [转帖]linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令
linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令 https://binwaer.com/post/12.html yun install -y screen ...
- Linux的xshell命令
1,Linux基本命令行的组成结构 2,Linux系统命令操作格式 命令 空格 参数 空格 需要处理的内容 rm -rf /tmp/* ls -la /home 一般情况下(参数)是可 ...
- Linux高频命令精讲(三)
[教程主题]:2.Linux高频命令精讲 [2.1]Linux的运行方式 图形运行方式 - 本地使用KDE/Gnome集成环境 - 运行X Server远程使用图形环境 命令行(字符运行)方式 - 本 ...
- Linux 定时任务命令Crontab参数详解
http://xshell.net/linux/crontab.html 实战: * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每一小时重启 ...
- xshell命令大全
suse linux 常用命令 (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l ...
- 实用Linux控制台命令
实用Linux控制台命令 screen 例如用Xshell连接 服务器 screen -ls 列出当前用户所有的screen screen 回车直接创建新的screen screen -S scree ...
- Linux 常用命令 , 其他名 , 文件管理
Linux 常用命令 , 其他名 , 文件管理 一丶Linux常用的指令 1. bsystemctl stop firewalld #关闭防火墙 2. iptables -F #清空防火墙规则 3. ...
- Linux基础命令-查看基本硬件信息
Linux基础命令-查看基本硬件信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看CPU信息 [root@node101.yinzhengjie.org.cn ~]# l ...
- linux——常用命令
学习linux命令地址: 学习命令地址,可参考http://linux.51yip.com/ 在文件中搜索指定字符串 grep -i "requirepass" redis.con ...
随机推荐
- SSM框架之SpringMVC(5)文件上传
SpringMVC(5)文件上传 1.实现文件上传的前期准备 1.1.文件上传的必要前提 A form 表单的 enctype 取值必须是: multipart/form-data(默认值是:appl ...
- css知识笔记:水平垂直居中(别只看,请实操!!!)
css实现元素的水平垂直居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目 ...
- 基于Python和Xtrbackup的自动化备份与还原实现
xtrabackup是一个MySQL备份还原的常用工具,实际使用过程应该都是shell或者python封装的自动化脚本,尤其是备份.对还原来说,对于基于完整和增量备份的还原,还原差异备份需要指定增量备 ...
- Self Service Password 密码策略
1.在活动目录中新建一个用户,并赋予域管理员权限:2.拷贝conf目录下的config.inc.php为config.inc.local.php:3.按自己的实际情况及要求修改config.inc.l ...
- [译]Vulkan教程(03)开发环境
[译]Vulkan教程(03)开发环境 这是我翻译(https://vulkan-tutorial.com)上的Vulkan教程的第3篇. In this chapter we'll set up y ...
- 多次调用settimeout 如何使用单例模式
<script> function aaa() { window.counter = window.counter||1; console.log(window.counter); win ...
- angularjs中directive指令与component组件有什么区别?
壹 ❀ 引 我在前面花了两篇博客分别系统化介绍了angularjs中的directive指令与component组件,当然directive也能实现组件这点毋庸置疑.在了解完两者后,即便我们知道co ...
- Linux 指令学习
查询java安装地址 which java ls -lrt /bin/java ls -lrt /etc/alternatives/java # 如果已经配好,则echo $JAVA_HOME 更改环 ...
- IT兄弟连 HTML5教程 CSS3揭秘 CSS3概述
对于Web开发者来说,CSS3不只是一门新奇的技术,更重要的是这些全新概念的Web应用给开发人员带来了无限的可能性,也极大地提高了开发效率.我们不必再依赖图片或者JavaScript去完成圆角.多背景 ...
- 如何解决eclipse远程服务器上面的Rabbitmq连接超时问题?
1.嗯,问题呢,就是一开始安装好RabbitMQ,练习了一下RabbitMQ的使用,但是呢,过了一段时间,我来复习的时候,发现运行出现下面的错误了.后来想想,是自己学习微服务的时候,修改了/etc/h ...