Linux -- 基础

_泡泡 / 2023-05-04 / 原文

Linux目录结构

image

/: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 
安装成功