指令
ls--显示当前路径下的文件名
ls是命令 -l是选项
文件=内容数据+属性数据
文件名以 . 开头就是隐藏文件
ls -a---显示所有文件包括隐藏文件
ls -l---显示文件的属性
ls -i---查看文件的inode编号
pwd -- 查看当前路径
cd -- 进入路径
. --- 一个点表示当前路径
.. ---表示上级路径
cd .. -- cd 空格 .. 进入上级路径./code
/ --路径分隔符
/ 也是根目录相对路径:以当前目录
cd -返回最近访问的路径
cd ~进入用户家目touch--
touch myfile 创建一个普通文件
在创建一个同名文件时相当于更新文件
mkdir--创建目录
mkdir -p d1/d2/d3 --- 创建一系列文件目录mkdir -m 在创建目录的同时设置权限
tree d1---显示d1的路径按照树状排列
rmdir---删除命令 只能删除空文件夹
rm---删除命令
rm -rf-----强制删除文件
-r---递归 可以删除子文件
-f---强制
rm -rf *.c----强制删除所有 .c文件
*是一种通配结构
man----查找指令nano----linux上的记事本
能以记事本的方式打开文件cp--文件拷贝指令
cp src dst----把src移动到dstmv---移动文件
对文件操作
cat---打印文件内容
正序打印
tac---倒序打印文件内容echo的作用是?
echo--打印字符串到显示器
echo "fuck"
echo "fuck" > t.txt ----把字符串写入文件---一个 > 表示输出重定向每输入一次会覆盖原文件中的内容
>
1.如果目标文件不存在则创建一个
2.输出重定向echo "" >>t.txt-----追加重定向---往文件中添加内容
输出重定向和追加重定向本质都是写入
cat-----只输入cat
输入重定向
cat < file.txt----输入重定向,本来从键盘中读取,现在从文件中读取
cat < file.txt >bak.txt
cat file.txt>bak.txt---把内容写入bak.txt显示器 键盘 普通文件 ----- 在linux下,皆是文件
read read read
write write write
显示器 键盘 普通文件more file.txt---把文件显示一整个屏幕然后暂停
不能往上翻less file.txt----可以上下翻看文件
ctrl+c:终止异常的命令
head file.txt----取前10行内容
head -30 file.txt----取前30行内容
tail file.txt---取后10行内容head -1010 file.txt | tail -11----提取前1010行再取后11行
|---竖画线叫做管道,用来传输数据
head -1010 file.txt | tail -11 管道文件--内存级别的文件,不在磁盘上
时间戳--从1970年 1.1开始的秒数cal -1---查当前的月份
cal -3---查三个月的月历find -name file.txt----按名字查找文件
linux下的各种命令本质上都是 可执行程序(工具,命令,指令)
which---在系统中,查找命令所在的路径位置
which ls---查找ls的位置alias--给命令取别名
alias zz='ls -al'----------给 ls -al 取别名zz ,别名只在这次登陆有效grep--查找文件
grep '888' file.txt---查找文件中所有含 888 的行
grep -n '888' file.txt---显示每一行所在文件中的行号
grep -v '888' file.txt---去掉所有不含888的行
grep -i 'print' file.txt---忽视大小写并且显示xargs----将管道的输出结果,作为命令行参数,交给后面的程序
echo "-l -a -i" | ls
echo "-l -a -i" | xargs ls-----ls能够把 -l -a -i打包和压缩
1.是什么
2.why
3.how
zip/unipzip -r name.zip 你的目录--压缩文件
unzip name.zip --解压到当前路径
unzip name.zip -d 指定路径----解压到指定路径tar
tar -czvf d1.tgz d1---压缩d1
选项 压缩后文件名d1.tgz 被压缩文件d1
c-表示创建一个新文件 z-压缩 v-显示压缩过程 f形成文件名必须在最后
tar -xzvf d1.tgz--解压
tar -xzf d1.tgz -C 你的路径--解压到指定路径
.tar--类型没有进行过压缩bc进入计算器
echo "1+3+4353" | bc
如何在linux下查看linux的体系结构和内核版本
uname
:显示操作系统名称。
uname -a
:显示所有可用信息,包括操作系统名称、主机名、内核版本、硬件架构等。
uname -r
:仅显示内核的版本号ctrl+r: 搜索输入过的命令
history:显示所有输入的命令
vmstat 报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息
sar 主要帮助我们掌握系统资源的使用情况,特别是内存和CPU的使用情况
stat 用于显示文件的状态信息
find . -name "*.c" -maxdepth 1 | xargs rm 是什么意思?
find . -name "*.c" -maxdepth 1
:在当前目录(.
)中查找所有以.c
结尾的文件,-maxdepth 1
限制搜索只在当前目录,不递归子目录。| xargs rm
:将找到的.c
文件传递给rm
命令,以删除这些文件。
top 查看cpu资源使用状态
netstat 查看网络连接状态
free 查看内存资源状态
df 查看磁盘分区资源状态
grep -E ^a try_grep
这条命令的意思是:
grep
:用于在文件或输入中搜索指定的模式。-E
:启用扩展正则表达式,使得某些正则表达式的语法更加灵活。^a
:这是要搜索的模式,^
表示行的开头,a
表示字母a
。因此,这个模式匹配所有以字母a
开头的行。try_grep
:这是要搜索的文件名。综上所述,这条命令的作用是在文件
try_grep
中查找所有以字母a
开头的行,并输出这些行。
权限
shell
shell运行原理---外壳程序
Shell(外壳程序)是操作系统中一个用户界面程序,允许用户与操作系统进行交互。它处理用户输入的命令,将这些命令转换成操作系统可以理解的指令,并执行相应的操作。
作用
1.是用户和操作系统交互中间软件层
2.可以起到保护操作系统的作用shell---外壳的统称
echo $BASH---当前所用的外壳
权限
权限----人+事物属性
用户权限
对人操作:
root用户: 只有一个,最高权限
普通用户:很多个
su - ---切换root
su Li ---切换用户
文件的文件类型查看
linux下,不以文件后缀来区分文件类型
ll 显示的第一列的第一个字符,表明该文件的文件类型。
d:目录
-:普通文件
p:管道文件
b:块设备-----磁盘设备
c:字符设备---键盘或者显示器
l:链接文件
分析指令
人的身份:
拥有者user:文件属于谁
所属组group:文件属于哪一个组
other:不属于上面两种的任何一个就是other
-rw-r--r-- 1 root root 9 Oct 31 13:33 file.txt
- 表示文件类型普通文件。第一个root表示文件的拥有者,文件属于root。第二个root表示文件的所属组。
权限分为:rwx r--表示可读 w---表示可写 x---表示可执行程序。如果出现 - 则表示没有那一样权限。
rw-r--r-- :9个元素每三个一组。
rw-:属于拥有者的权限。r--:所属者的权限。r--:other的权限
9---表示文件大小
更改权限操作:
赋予权限方法
chmod
拥有者和root有对文件赋予rwx权限的能力
chmod u+rwx myfile.txt ------给拥有者 rwx 权限
chmod u+r,u-w myfile.txt --给拥有者 r权限去掉w权限chmod g+r,u-w myfile.txt---g表示所属者
chmod o+r,u-w myfile.txt---o表示other
chmod a+x myfile.txt----------给所有人x权限
8进制修改权限操作
rwx----对应具有权限为:1 1 1 = 7 ---rwx
1 0 0 = 4 ---r
1 1 0=6---rw
三个人 拥有者所属者other 对应三个位置 _ _ _
chmod 777 myfile.txt --表示给这三个人rwx权限
chmod 700 myfile.txt---表示给拥有者所有权限
chmod 600 myfile.txt---表示给拥有者r权限
更改用户的拥有者所属组
chown Li myfile.c
chgrp Li myfile.c
chown root myfile.csudo chown Li myfile.c---普通用户能更改文件的拥有者,所属组
如果用户要执行sudo,需要该用户被root添加到信任列表里面
权限的常见问题:
目录权限,进入一个目录需要什么权限?
权限只判定一次,如果是拥有者就看拥有者的权限,所属者就看所属者的权限
需要x权限才能进入目录。
r--没有r不能看该目录下的文件列表。
w--创建文件不能缺少w权限。
linux默认:
一个目录被创建,起始权限是从:777开始
一个普通文件被创建,起始权限是从:666开始
umask---权限掩码
输入umask可以查看
最终权限 = 起始权限&(^umask)---取反再进行按位与
凡是在umask中出现的权限,都不应该在最终权限中出现
例:
umask=0022---只关注最后三位 000 010 010
mkdir dir
dir原本权限为:111 111 111 rwx rwx rwx
7 7 7
但实际上为: 111 101 101 rwx r-x r-x
相当于进行了减法操作但实际上是取反按位与操作
000 010 010 取反 111 101 101
111 101 101 & 111 111 111=111 101 101
删除权限
别人的文件创建在我的文件下,我可能没有rwx但是我可以删除
能否删除文件是文件所在的目录决定
粘滞位:
1.当多个用户共享一个目录,需要在该目录下,进行读写,创建删除文件
2.但是自己只能删除自己的不能删别人的
3.粘滞位只能对目录设置
chmod +t mytemp--给mytemp文件+粘滞位
补充问题
linux 2.6.* 内核默认支持的文件系统有哪些?
ext系列全称Linux extended file system, extfs,即Linux扩展文件系统,ext2为第二代
XFS一种高性能的日志文件系统,2000年5月,Silicon Graphics以GNU通用公共许可证发布这套系统的源代码,之后被移植到Linux 内核上。XFS 特别擅长处理大文件,同时提供平滑的数据传输