Liunx基础

  • A+
所属分类:Linux

0x00前言

Java刷题先告一段落,先把Linux丢的捡起来,生疏的反复回忆记忆。深度学习这2天不在状态,静不下心,明天得补回来//):)

0x01 Linux文件系统知识

/bin 二进制可执行命令

/dev 设备特殊文件

/etc 系统管理和配置文件

/etc/rc.d 启动的配置文件和脚本

/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件

/sbin 超级管理命令,这里存放的是系统管理员使用的管理程序

/tmp 公共的临时文件存储点

/root 系统管理员的主目录

/mnt 系统提供这个目录是让用户临时挂载其他的文件系统

/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)

/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/var 某些大文件的溢出区,比方说各种服务的日志文件

/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录,其中包含:

/usr/x11R6存放x window的目录

/usr/bin众多的应用程序

/usr/sbin超级用户的一些管理程序

/usr/doclinux文档

/usr/includelinux下开发和编译应用程序所需要的头文件

/usr/lib常用的动态链接库和软件包的配置文件

/usr/man帮助文档

/usr/src源代码,linux内核的源代码就放在/usr/src/linux里

/usr/local/bin本地增加的命令

0x02 chown和chmod区别

##chown 修改文件和文件夹的用户和用户组属性
1。要修改文件hh.c的所有者.修改为sakia的这个用户所有
chown sakia hh.c
这样就把hh.c的用户访问权限应用到sakia作为所有者

2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net
chown -R sakia:net /tmp/sco

############################################################

chmod 修改文件和文件夹读写执行属性
1。把hh.c文件修改为可写可读可执行
chmod 777 hh.c
要修改某目录下所有的文件属性为可写可读可执行
chmod 777 *.*
把文件夹名称与后缀名用*来代替就可以了。
同理若是要修改所有htm文件的属性
chmod 777 *.htm
2。把目录 /tmp/sco修改为可写可读可执行
chmod 777 /tmp/sco

要修改某目录下所有的文件夹属性为可写可读可执行
chmod 777 *
把文件夹名称用*来代替就可以了

要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行
chmod -R 777 /tmp/sco

可写 w=4
可读 r=2
可执行 x=1
777就是拥有全权限。根据需要可以自由组合用户和组的权限

0x03 Linux文件权限

mkdir abc ls -l

drwxr-xr-x 2 root root 4096 Feb 21 22:17 abc

- 10个字符确定不同用户能对文件干什么

- 第一个字符代表文件(-)、目录(d),链接(l)

- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

- 第一组rwx:文件所有者的权限是读、写和执行

- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7

- 2 表示连接的文件数

- root 表示用户

- root 表示用户所在的组

- 4096 表示文件大小(字节)

- Feb 21 22:17 表示最后修改日期

- abc 表示文件名

0x04 非vim下

cut :从文本文件的每一行中截取指定内容的数据。

cp :用来复制文件或目录。

dd :将指定的输入文件拷贝到输出文件中,在拷贝的过程中可以进行格式转换。

fmt :将所有非空白行的长度设置为几乎相同,来进行简单的文本格式化。

0x05 计划任务

计划任务内容格式:分 时 日 月 周  命令/脚本

实例:

每天04:00

0   4   *   *   *  要执行的命令


周二和周五18:00

0   18  *   *   2,5  要执行的命令


1月到3月份, 周二和周五18:00

0   18  *   1-3   2,5  要执行的命令


周一到周五17:30发广播,然后17:45分关机

写两条计划任务,不是只能写一条

30 17  *  *  1-5  /usr/bin/wall < /root/msg

45 17  *  *  1-5  /sbin/shutdown -h now

 

中午12点到14点,每两分钟(偶数)

*/2  12-14  *   *  *   命令

1-59/2 (奇数)

在Linux下我们用crontab来实现定期执行脚本。

查看crontab     输入命令:cat /etc/crontab

crontab -u //设定特定用户的定时服务

crontab -l //列出当前用户定时服务内容

crontab -r //删除当前用户的定时服务

crontab -e //编辑当前用户的定时服务

在设定编辑之前都建议列出服务查看一下:crontab -l

显示有一个已经设定好的定时任务 每天九点10分执行 脚本命令: hadoop jar /tycrtest/test2.jar

然后编辑定时任务:crontab -e  进入编辑界面会显示已存在的定时任务 

* * * * * user_name command to be executed   

user_name 表示执行定时任务的用户  不指定默认当前用户   

command to be executed   表示要执行的脚本语句。

按 i 键进入编辑   编辑完毕后 按esc  然后输入 :wq  报存并退出   注意不是输入wq  是:wq

前面五位是定时执行的时间周期 说明如下:

第一个 * 表示分钟:取值范围 0-59

第二个 * 表示小时:取值范围0-23

第三个 * 表示天数:取值范围1-31

第四个 * 表示月份:取值范围1-12

第五个 * 表示每周:取值范围0-6

使用(-)可以划定范围

 如:0 0-3 * * *  脚本        表示每天0-3点整执行脚本

使用(,)可以枚举时间

 如: 0,15,30,45 * * * * 脚本    表示每个小时的0分,15分,45分,30分会执行脚本

使用(/)可以指定间隔

 如:* */8 * * * 脚本         表示每8小时执行脚本

组合用法

0-20/10 * * * * 脚本        表示在前20分钟内每隔10分钟执行脚本

10 9 * * * hadoop jar /cookie/test.jar   默认root 每天9点10执行hadoop jar /cookie/test.jar 这个脚本
zore

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: