课程学习第七天
删除文件:rm -rf 文件名 rm -rf后可接多个名字来进行多个文件的删除
例:删除law名字的文件: rm -rf law
./文件名 在当前目录下查找文件并且运行 与(bash 文件名)显示效果相同
head
默认取前10行
tail
默认取后10行
df -Th -n +2
查看日志文件(动态监控文件)
tailf 文件目录
Linux里一切皆文件,没有消息就是好消息
文本处理: 三者都能进行查找功能
grep 文本过滤
sed 替换,查找 vim是交互式
awk 截取
awk '/:/print{$1,$2,$3,$5}' 查找冒号的行和显示第一,二,三,五个字段
BEGIN{OSF=","}在awk开始运行的时候,定义一个变量OSF为逗号,指定分隔符为逗号,
awk默认输出分隔符是空格
将awk截取的东西放到文件中去用>
[root@sc-cali lianxi]# cat /var/log/secure|awk 'BEGIN{OFS=","} /:/{print $1,$2,$3,$5}' >secure.csv
查找包含:的行并显示第一,二,三,五个字段并把它放到secure.csv文件中去
cat /var/log/secure|awk 'BEGIN{OSF=","}
数据清洗(日志文件等--》sed,awk, grep)--->>入库(redis,mongoDB,MySQL)-->>分析
例:
vim 文件名
id,name,age,grade
1,cail,38,90
2,jack,20,50
磁盘永久保存文件
ls -a 查看隐藏文件(前为 . 开头的文件)
csv文件:以逗号分隔的文件
末行模式 :行号 找到多少行
mv进行修改文件名字
mv 旧文件名 新文件名
:表示要传值的
vim编辑器中复制三行:3yy
env 查看终端的环境变量
历史命令
history
执行num行命令 !num
bash中默认最多可以保存最近的1000条历史命令
bash保存的文件会放到~下的./bash_history文件中
当用户退出系统的时候,bash会将内存里保存的命令传输到磁盘文件~下的./bash_history文件中
1000条之前的命令就都会消除了
修改history的变量
临时修改,只在本终端生效,重启会失效
HISTSIZE= 2000 保留最近的2000条历史命令
永久修改HISTORY变量
vim /etc/profile
su - root
重新登陆用户,会立马生效,重启系统也行
其背是后会重新运行脚本
!string 执行最近一条以string为开头的命令
!ls 执行最近一条以ls为开头的命令
history -c
清除历史命令
审计系统
是将在系统中所进行的各种命令备份放在另外的系统之中,增加了整体系统的安全性
重启sshd服务
service sshd restart
symbolic 符号
symbolic link 符号链接(软链接)’
hard link (硬链接)
pwd 显示当前所在的目录的地址
[root@sc-cali tanxue]# pwd
/home/tanxue
chmod 修改权限命令
chmod +x 文件名 添加可执行权限!!!!
chmod -x 文件名 删除可执行权限!!
建立用户:
useradd tanxue
echo 123456|passwd tanxue --stdin
回收站:本质上也是一个文件夹
1,暂存文件或者文件夹
2,恢复到原来的文件的位置
文件暂存到回收站的时候,需要记录它原来在哪里
回收站需求分析:
1,新建一个文件夹用来备份
2,mv来进行移动
3,记录它原来的路径到一个个的文件里,方便还原
运用重定向符号> >>
4.shell脚本
5,执行rm的时候去执行你编写的shell脚本:rr.sh
4,修改别名alias ff=feng.sh
查找类命令
shell解释器在哪里去帮我们找命令呢?
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
目录由冒号进行分割
从PATH变量定义的最左边的目录开始查找,如果找不到,就继续往下面的目录查找
如何让你的命令在bash中找到?
1,将你的命令放在PASH变量定义的目录里 cp feng.sh /usr/bin/
2,修改PATH变量的值,在里面添加你的命令所在的文件夹
which
查找可执行的文件并且显示所在的位置
查找范围是在PASH变量中进行查找
不能查找没有执行权限的文件
普通的文件无法查找
whereis
在PATH中找可执行命令的存放路径
多显示一个man手册的路径
[root@sc-cali ~]# whereis mkdir 查询可执行命令的存放路径,也是到PATH变量的目录下
mkdir: /usr/bin/mkdir /usr/share/man/man1/mkdir.1.gz --》man手册的路径
没找到不显示是在哪些地方没有找到的
普通的文件无法查找
普通的文件应该用什么查找呢?
find
既支持模糊查找也支持精确查找
locate [root@sc-cali ~]# locate xieshan.txt
不能查找最新的文件,需要更新数据库
db 数据库 database
更新数据库 updatadb ---》如果第一次运行,会帮助我们进行创建一个/var/lib/mlocate/mlocate.db的文件夹
/var/lib/mlocate/mlocate.db存放的是整个Linux文件系统里的所有的文件和目录的名字
模糊查找,可以包含,只需要一部分有就行
ln 创建链接文件--》符号链接 link
在两个文件之间建立一个连接 (相当于快捷方式)
软链接 ln -s guangdong gd 创捷一个gd文件指向guangdong文件
源文件 链接文件
符号链接文件不能删除源文件,删除源文件会导致链接文件失效
文件和文件夹都能创捷链接
硬链接 ln feng.sh scfeng,sh
源文件与链接文件一模一样
删除源文件不会影响链接文件(相当于复制粘贴)
只能对文件进行
命令的分类
相对于shell解释器而言
内部命令 属于shell解释器的一部分 BASH_BUILTINS 内置在bash里面的命令
外部命令 独立于shell解释器以外的程序文件
查询命令是通过那个软件包安装过来的?
1,yum provides cd (cd命令在你的机器上没有安装,也能查找从哪个安装包安装过来的)
2,rpm -qf /bin/cd (必须要安装了cd命令对应的软件包,才可以查询)
将用c语言写的vim文件编译成可执行的二进制文件
gcc -o 文件名 文件名2
$PATH 引用PATH变量,
非永久修改修改PATH变量 PATH=$PATH:文件夹地址 将文件夹地址放在后面
或 PATH=文件夹地址:$PATH 将文件夹地址放在前面
永久修改PATH变量 vim ~/.bash_profile 修改家目录下的.bash_profile文件
需要重启虚拟机或者重新登陆来加载
查询某个软件是通过哪个安装包安装过来的
[root@localhost lianxi]# rpm -qf bash
查询bash这个软件安装到哪里去了,有哪些文件
[root@localhost lianxi]# rpm -ql bash
rpm是Linux里的软件管理命令
-q 查询 query
-l 列出 list
yum是Linux里的软件管理命令
yum要高级一些,底层还是使用rpm命令
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
