Linux学习笔记⼀(⽂件和⽬录操作)
1.基本shell操作
命令解析器--根据命令的名字,调⽤对应的可执⾏程序
shell--unix操作系统
bash--Linux操作系统(⽂件系统)
Linux⽂件系统的存储单元是块
在磁盘上存储的时候每个⽂件都有⼀个inode--i节点,保存了⼀些⽂件信息,通过iNode到对应的⽂件
a.快捷键
b.虚拟终端
serversql入门为什么那么难history--查询命令的历史记录
delay等于什么词组ctrl+p == 向上的箭头,查询上⼀个命令
ctrl+n == 向下的箭头,查询下⼀个命令
ctrl+b 向左移动back
ctrl+f 向右移动forward
ctrl+a 移动到⾏⾸
ctrl+e 移动到⾏尾
ctrl+h 刪除光标前⾯的字符
ctrl+d 刪除光标覆盖的字符
ctrl+u 刪除光标前⾯的所有字符
ctrl+k 删除光标位置到⾏尾的字符
ctrl+l或者clear命令清理屏幕
c.命令和路径补齐
tab智能提⽰键,按⼀次没反应说明有很多符合条件的命令,再按⼀次出现符合条件的命令列表
cd ⽬录 + 连续两次tab,显⽰⽬录下⼀级的所有路径
systemctl start firewalld.service 启动
systemctl enable firewalld.service 开机启动
systemctl stop firewalld.service 停⽌
systemctl disable firewalld.service 禁⽌开机启动
systemctl status firewalld.service 查看状态
firewall-cmd --state 查看状态
2.Linux系统⽬录结构
ls 路径(查询当前路径下的所有⽂件)
/
根⽬录下的⽬录说明:
/bin bin是binary的缩写,这个⽬录存放着经常使⽤的命令可执⾏程序
/boot 存放的是启动Linux时的⼀些核⼼⽂件,包括⼀些连接⽂件以及镜像⽂件(开机启动项)
/dev 是Device(设备)的缩写,该⽬录存放的是Linux的外部设备,在Linux中访问设备的⽅式和访问⽂件的⽅式是相同的
(Linux奉⾏⼀切皆⽂件,它会把所有硬件外设抽象成设备⽂件存到dev⽬录之下,⽐如⿏标键盘)
/etc ⽤来存放所有系统管理所需要的配置⽂件和⼦⽬录
/home ⽤户的主⽬录,在Linux中,每个⽤户都有⼀个⾃⼰的⽬录,⼀般该⽬录名是以⽤户的账号命名。
/lib 这个⽬录存放着系统最基本的动态连接共享库,其作⽤类似于Windows⾥的DLL⽂件。⼏乎所有的应⽤程序都要⽤到这些共享库。
/lost+found 这个⽬录⼀般情况下是空的,当系统⾮法关机后,这⾥存放了⼀些⽂件碎⽚。
/
media Linux系统会⾃动识别⼀些设备,例如U盘和光驱等,当时别后,Linux会把识别的设备挂载到这个⽬录下。(⾃动)
/mnt 系统提供该⽬录是为了让⽤户临时挂载别的⽂件系统的,我们可以把光驱挂载在 /mnt/ 上,然后进⼊该⽬录就可以查看光驱⾥的内容了。(⼿动)
/opt 这是主机给安装软件所摆放的⽬录,⽐如你安装⼀个ORACLE数据库就可以放到这个⽬录下,默认是空的
/proc 该⽬录是⼀个虚拟⽬录,它是系统内存的映射,我们可以通过直接访问这个⽬录来获取系统信息。
这个⽬录的内容不在硬盘上⽽是在内存⾥,我们也可以直接修改⾥⾯的某些⽂件,⽐如可以通过下⾯的命令来屏蔽主机的ping命令,使别⼈⽆法ping你的机器;
例:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root 该⽬录为系统管理员,也称作超级管理员的⽤户主⽬录
/sbin s就是super user 的意思,这⾥存放的是系统管理员使⽤的系统管理程序。
/selinux 这个⽬录是Redhat/CentOs所特有的⽬录,Selinux是⼀个安全机制,类似于windows的防⽕墙,但是这套机制⽐较复杂,这个⽬录就是存放selinux相关⽂件的 /srv 该⽬录存放⼀些服务启动之后需要提取的数据
/sys 这是linux2.6内核的⼀个很⼤的变化,该⽬录下安装了2.6内核中新出现的⼀个⽂件系统 sysfs.
sysfs⽂件系统集成了下⾯三种⽂件系统信息:
git是什么格式针对进程信息的proc⽂件系统、针对设备的devfs⽂件系统、针对伪终端的devpts⽂件系统
该⽂件系统是内核设备树的⼀个直观反映,当⼀个内核对象被创建的时候,对应的⽂件和⽬录也在内核对象⼦系统中被创建。
/tmp 临时⽂件⽬录
/usr (user soft resource )这是⼀个⾮常重要的⽬录,⽤户的很多应⽤程序和⽂件都放在这个⽬录下,类似于windows下的program files⽬录
/usr/bin 系统⽤户使⽤的应⽤程序
/usr/sbin 超级⽤户使⽤的⽐较⾼级的管理程序和系统守护程序
/usr/src 内核源代码默认存放的⽬录
/var 这个⽬录存放着在不断扩充着的东西,我们习惯将那些经常被修改的⽬录放在这个⽬录下,包括各种⽇志⽂件
注意:在linux系统中,有⼏个⽬录是⽐较重要的,平时不要误删或者随意更改内部⽂件。
/etc:系统的配置⽂件,如果更改了该⽬录的某个⽂件可能导致系统不能启动。
/bin,/sbin,/usr/bin,/usr/sbin : 这是系统预设的执⾏⽂件的放置⽬录,⽐如ls就是在/bin/ls⽬录下
值得提出的是:/bin,/usr/bin是给系统⽤户使⽤的(root外的通⽤⽤户),⽽/sbin, /usr/sbin是给root使⽤的
/var 系统上跑了很多程序,那么每个程序都会有相应的⽇志产⽣,⽽这些⽇志就被记录到这个⽬录下,具体在/var/log⽬录下,另外mail的预设放置也是在这⾥
3.⽤户⽬录
a.绝对路径:从根⽬录开始写/
java培训班结束
b.相对路径:相对于当前⽬录⽽⾔
. ->当前⽬录
.. ->当前⽬录的上⼀个⽬录
- ->在临近的两个⽬录之间进⾏切换 cd -
c.itcast@ubuntu:~$ 输⼊命令前的字符含义
itcast:当前登录⽤户
@:at 在
ubuntu:主机名
~:⽤户的家⽬录(宿主⽬录)
$:当前⽤户为普通⽤户
#:超级⽤户root
ubuntu中切换为超级⽤户命令:sudo su
2.⽂件和⽬录操作相关命令
⽂件或⽬录颜⾊⼀般情况:
⽩⾊--普通⽂件(su.java)
蓝⾊--⽬录
绿⾊--可执⾏⽂件
红⾊--压缩⽂件()
青⾊--链接⽂件(相当于windows快捷⽅式)
黄⾊--设备⽂件
block 块--硬盘被抽象成块设备⽂件
char 字符--键盘被抽象成字符设备
fifo 管道
例如:
灰⾊--其他⽂件
pwd 查看当前⽬录
ls -a 查询所有⽂件,其中 .⽂件代表隐藏⽂件
ls -R 同时列出所有的⼦⽬录层
ls -la 列举当前⽬录下所有⽂件信息,信息详解如下
例如:drwxr-xr-x. 2 root root 180 Nov 27 09:07 block
数据看的时候采⽤1333原则
字母含义:r--read,w--write,x--可执⾏权限
1-->d->⽂件类型:普通⽂件【-】
⽬录【d】
链接符号【l】
块设备【b】
字符设备【c】
socket⽂件【s】
管道【p】
3-->rwx->所有者权限
3-->r-x->同组⽤户权限
3-->r-x->其他⼈权限
2--⽂件的硬链接数
root--该⽂件或者⽬录的所有者
root--该⽂件或者⽬录所属的组
180--占⽤的存储空间
Nov 27 09:07--⽂件最后创建或修改时间
block--⽂件名
mkdir dirName 创建⽬录
mkdir -p dirName1/dirName2/dirName3 创建复合⽬录
rm -r dirName 彻底删除⽬录 -r表⽰递归删除
rm -ri dirName 带删除提⽰向导
touch fileName 创建⽂件,如果⽂件不存在就创建,存在则修改⽂件时间
rm fileName 删除⽂件
复制⽂件,如果⽬标⽂件不存在则新建,存在则覆盖内容
cp -r dirName targetDirName 复制⽬录,如果⽬标⽬录不存在则创建⽬标⽬录并复制原⽬录下的⽂件到⽬标⽬录下
如果⽬标⽬录存在则复制原⽬录到⽬标⽬录下
cp dirName/* targetDirName/ 复制⽬录下的⽂件到指定⽬录下
more fileName 查看⽂件,回车显⽰下⼀⾏,空格显⽰下⼀页,b显⽰上⼀页,q退出
less fileName 查看⽂件,回车显⽰下⼀⾏,空格显⽰下⼀页,b显⽰上⼀页,q退出
cat fileName 查看⽂件
vi fileName 查看⽂件,可以编辑
head -5 fileName 查看⽂件⽂件前5⾏内容,不带-5默认显⽰前10⾏
tail -20 fileName 查看⽂件⽂件后20⾏内容,不带-20默认显⽰后20⾏
给⽂件改名
dirName 移动⽂件到指定⽬录下
ln -s /【源⽂件+绝对路径】 a.txt【软链接名字】
软链接(符号链接)--相当于windows下快捷⽅式
注意事项:⽬录可以创建软链接
ln sourceFile targetFile 硬链接是对原⽂件的映射,不占据时间空间,硬链接通过inode到原⽂件,每创建⼀个硬链接,硬链接基数都会+1,修改硬链接对应的原⽂件和硬链接都会发⽣更改。硬链接相当于是对原⽂件的备份,只有⽂件才可以创建硬链接,⽬录不可以
wc fileName查看⽂件的信息
例如:
结果:7 19
7--⾏数【wc -c fileName只显⽰字节数】
19--多少个单词,以空格为单位计数【wc -w fileName只显⽰单词数】
83--⽂件⼤⼩,多少个字节数【wc -l fileName只显⽰⾏数】
od fileName查看⼆进制⽂件信息
od -t 指定数据的现实格式
参数c-->ASCII字符
d-->有符号⼗进制数
f-->浮点数
o-->⼋进制数
u-->⽆符号⼗进制数
绿山墙的安妮作者x-->⼗六进制数
使⽤⽅式 od -tc fileName
du 查看某个⽬录的⼤⼩ du【disk use】,⼀般加参数 -h【human】,以⼈类能看懂的⽅式显⽰ df 查看磁盘的使⽤情况 df【disk free】,⼀般加参数 -h【human】,以⼈类能看懂的⽅式显⽰ which 查看指定命令所在的路径 which ls
3.⽂件权限、⽤户、⽤户组相关命令
a.查看当前登录⽤户 whoami
b.修改⽂件权限:
1).⽂字设定法:chmod [who] [+|-|=] [mode]
who:
⽂件所有者:u
⽂件所属组:g
其他⼈: o
所有⼈: a([who]位置啥都不写默认是a),给以上三个⾝份同时赋权限
+:添加权限
-:减少权限
=:覆盖原来的权限
mode:
r:读
w:写
x:可执⾏
使⽤:chmod
chmod o=
2).数字设定法:
-:没有权限
r: 4
w:2
linux操作系统镜像
x: 1
765
7--rwx--⽂件所有者
6--rw --⽂件所属组
5--rx --其他⼈
使⽤:chmod
chmod - 减少该⽂件其他⼈可执⾏权限,所有者和所属组权限不变
c.修改⽂件所有者和所属组
cd /home-->ls -la 查看⽤户-->dandan
chown 所有者 【修改⽂件所有者】例⼦:chown
chgrp 所属组 【修改⽂件所属组】例⼦:chgrp
chown 所有者:所属组 【同时修改⽂件所有者和所属组】
没有执⾏权限的话加上 sudo【管理员权限】
4.查和检索相关命令
1)按⽂件属性查
a.按⽂件名查:find 路径 -name "⽂件名"
通配符:可以加在⽂件名所在引号⾥使⽤
*:多个
: ⼀个
b.按⽂件的⼤⼩:find 路径 -size +10k|-10k【+表⽰⼤于,-表⽰⼩于】【⼩写k,⼤写M】
范围搜索:find 路径 -size +10k -size -1M【查询⼤于10k,⼩于1M⽂件】
c.按⽂件类型:find 路径 -type f/d/b/c/s/p/l
普通⽂件【f】
⽬录【d】
链接符号【l】
块设备【b】
字符设备【c】
socket⽂件【s】
管道【p】
2)按⽂件内容查
grep -r "查的内容" 路径
5.软件安装和卸载
1)在线安装:
安装:sudo yum install tree--在线下载安装
移除:yum remove tree
更新:yum update--更新软件列表【软件名和地址】
清除所有软件安装包:yum clean all
安装tree命令:切换到超管:su
yum search tree检索tree⽂件
执⾏yum install tree -y
[Errno 256] No more mirrors to try.错误的解决⽅式:
1、yum clean all
2、yum makecache
2)deb包安装
3)源码安装:
a.解压缩源代码包
b.进⼊到安装⽬录:cd dir
c.检测⽂件是否缺失,创建Makefile,检测编译环境:/.configure
d.编译源码,⽣成库和可执⾏程序:make
e.把库和可执⾏程序,安装到系统⽬录下:sudo make install
f.删除和卸载软件:sudo make distclean
g.上述安装步骤并不是绝对的,应该查看README⽂件
6.磁盘管理
取消挂载 umount dirName【⽬录名称】--卸载的时候必须退出当前dirName⽬录,否则会出现设备忙提⽰挂载 mount deviceName【设备名称】 /mnt【挂载的⽬录】
fdisk -l 查看设备
Linux中,磁盘设备种类:设备都保存在/dev中
sd-->SCSI Device
hd-->Hard Disk
fd-->Floppy Disk软盘
硬盘命名:硬盘1:sda, 硬盘2:sdb, 硬盘3:sdc
主分区:最多允许4个
主分区1:sda1
主分区2:sda2
主分区3:sda3
主分区4:sda4
扩展分区:第⼀个逻辑分区从sda5开始
逻辑分区1:sda5
逻辑分区2:sda6
逻辑分区3:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论