Linux -- 基础
Linux目录结构
/:Linux中没有盘符,根目录为"/"
/bin:存放系统命令的目录,所有用户都可以执行.
/sbin:保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。
/home:用户缺省宿主目录 添加新用户 home会有对应用户的文件夹
/etc:系统配置文件
/dev:存放设备文件 网卡 声卡 显示 CD 打印机
/mnt:挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
/media:挂载目录。 挂载媒体设备,如软盘和光盘
/opt:第三方安装的软件保存位置。 习惯放在/usr/local/目录下
/usr: 系统软件共享资源目录,存放所有命令、库、手册页等
/root:存放root用户的相关文件,root用户的家目录。宿主目录 超级用户 我们进入系统默认在root目录下
基础命令
cd切换文件夹
英文:change directory 命令路径:内部命令 执行权限:所有用户
作用: 切换目录
语法:cd 目录
Linux绝对路径
/路径
/aaa/bbb/ccc
Linux相对路径 不是根目录开头的路径
./ 当前目录
../ 上一级目录
../../ 上两级目录
cd ..返回上一级目录
cd / 切换到根目录
cd /root 使用绝对路径进入到root目录
cd root 使用相对路径进入到root目录
cd ./root 使用相对路径进入到root目录
cd - 显示并打开到上一次操作的目录
pwd显示当前目录
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录
语法:pwd
ls 查看目录下文件
英文:list 命令路径:/bin/ls 执行权限:所有用户
作用:显示目录文件
语法:ls [-alrRd] [文件或目录]
-a (all) 显示所有文件,注意隐藏文件,特殊目录.和..
-l (long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t (time) 按修改时间排序(降序)
ll 相当于 ls –l
ls查看当前目录下的文件
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
ls -a 显示所有文件 包括隐藏文件
[root@localhost /]# ls -a
. bin dev home lib64 mnt proc run srv tmp var
.. boot etc lib media opt root sbin sys usr
ls -l 显示详细信息
[root@localhost /]# ls -l
total 20
lrwxrwxrwx. 1 root root 7 Nov 18 02:08 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Nov 18 02:18 boot
drwxr-xr-x. 20 root root 3240 Nov 18 03:10 dev
drwxr-xr-x. 75 root root 8192 Nov 18 04:42 etc
drwxr-xr-x. 3 root root 17 Nov 18 04:42 home
lrwxrwxrwx. 1 root root 7 Nov 18 02:08 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 18 02:08 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 2 root root 6 Nov 5 2016 mnt
注意:linux中 d开头的是文件夹 -开头的是文件 l开头的快捷方式
ls -l 可以简写成 ll
mkdir创建文件夹
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
mkdir /root/aaa 在root下创建aaa文件夹
mkdir /root/bbb /home/ccc 在root下创建bbb文件夹 在home下创建ccc文件夹
mkdir -p /root/aa/bb/cc -p可以创建多级文件夹 在/root下创建 aa/bb/cc文件夹
touch创建文件
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
eg:# touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格
touch a.txt 在当前目录下创建 a.txt
touch /root/a.txt /root/b.txt /root/c.txt 在root下创建 a.txt b.txt c.txt
touch "1 .txt" 如果文件名中有空格 需要加""
mv移动文件
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源路径 目标路径
mv a.txt b.txt 将当前目录的a.txt改为b.txt
mv b.txt /home 将当前目录下的b.txt移动到home文件夹下
mv /root/c.txt /home/ccc.txt 将root下的c.txt移动到home下并改名为ccc.txt
cp复制文件目录
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源路径..... 目标路径
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
eg:
1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/
2,,绝对路径 cp –R /ect/service /root/test/aa/bb
cp a.txt b.txt 将a.txt文件 复制成b.txt 复制并改名
cp -r aa abc 复制文件夹要递归复制 将aa文件夹 复制为 abc文件夹
rm删除
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 路径
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
乱码文件删除
ll -i 获取到 inum
find -inum 33575027 -delete
rm -rf a.txt 强制删除 a.txt文件
rm -rf aa 强制 递归删除 aa文件夹
echo输出
将内容打印在控制台显示
echo “hello”
echo “hello” > 1.txt 覆盖
echo “hello” >> 1.txt 追加内容
cat显示文件内容
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-A 显示所有内容,包括隐藏的字符
-n 显示行号
eg:cat /etc/services
ln连接
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件 , 方便操作文件
语法:
ln -s 源文件 快捷方式文件 创建软链接 源文件 使用 绝对路径
ln 源文件 快捷方式文件 创建硬链接
ln -s /root/a.txt /a.txt 在根目录创建一个a.txt 连接 root目录下的a.txt 软连接
软连接 如果源文件不存在了 快捷方式文件 就没有用了 没有对应的文件
ln /root/b.txt /b.txt 在目录下创建一个b.txt 连接 root目录下的b.txt 硬连接
硬连接 b.txt也是一个单独的文件 源文件改变 b.txt也随之改变 源文件被删除 b.txt还可以继续使用
more显示文件内容
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
less显示文件内容
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
less [参数] 文件
q 退出查看内容
参数说明:
-N 显示每行的行号
b 向后翻一页
d 向后翻半页
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
g 直达文件首页
G 直接文件末尾
/关键字 搜索关键字(按n找下一个)
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
head查看文件前几行
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
eg:head -20 /etc/services services前20行
tail查看文件后几行
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-n 指定行数
-f (follow) 动态显示文件内容
-F 动态显示文件内容
获取一个大文件的部分文件,可使用head或tail命令
head 100 /etc/services >config.log 将 services中前100行 写入到 config.log文件中
-f 依据inode号跟踪,如果目标文件被重命名,则新创建的同名文件不会被跟踪
-F 依据路径名跟踪,如果目标文件被重名,然后创建了同名的新文件,则会继续跟新文件
find查找
根据文件名、路径、文件类型、修改创建时间等信息搜索文件
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-name 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用\*。
eg: # find . –name *g
grep关键字查找
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
在命令的输出中搜索内容
语法:grep [-cinv] '关键词' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
ll / | grep dev
gzip压缩
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
tar 压缩解压
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
gzip 文件 文件 文件
gunzip 压缩文件 压缩文件
tar -zcvf my.tar.gz 文件1 文件2 文件3... 打包压缩
tar -zxvf my.tar.gz 解压缩文件
tar -zxvf my.tar.gz -C 文件夹/ 解压缩文件到指定目录
VI编辑器
yy 复制光标所在的行内容
dd 剪切光标所在的行内容 [删除]
p在光标所在的行的下面粘贴
nyy 复制n行
ndd 剪切n行
i光标所在的前面
I 行首
a光标的后面
A 行末
o 下一行
O上一行
:q! 不保存退出
:wq!保存退出
:set nu 显示文本行号
:set nonu 隐藏行号
n G 跳跃光标到第n行
G 跳跃光标到最后一行 o 文档的末尾插入
u 撤销操作
/ str 搜索字符串 n下一个
在linux中安装JDK
1.安装xftp7 从windows上传输一个JDK到Linux中/opt/apps下
2.对/opt/apps下的JDK压缩包进行解压 tar -zxvf jdk-8u191-linux-x64.tar.gz
3.配置 /etc/profile文件 vi /etc/profile
在文件最后添加
export JAVA_HOME=/opt/apps/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
注意不要忘记/bin
保存退出
4.source /etc/profile
安装成功