根目录:/ /root: 存放root用户相关文件 /home: 存放不同用户的相关文件 /bin: 存放常用命令的目录 /sbin: 要具有一定权限才可以使用的命令 /mnt: 默认挂载光驱和软驱的目录 /etc: 存放配置相关文件 /var: 存放经常变化的文件 /boot: 存放引导相关的文件 换源 software-properties-gtk
查看各个分区挂载容量,那么输入:【df -h】,那么此时即可查看了的 显示当前在哪个目录下: pwd 7个运行级别 0:关机 1:单用户(找回丢失密码) 2:多用户无网络服务 3:多用户有网络服务 4:保留 5:图形界面 6:重启 (系统运行级别的配置文件/etc/inittab) 修改/etc/inittab文件中的 id:3:initdefault , 将3改为5 ,重新启动系统; 命令init[012345] init 3 多用户有网络服务 init 5 图形化 init 0 关机 忘记密码修改操作: 开机——> 在引导是输入 回车Enter ——> 看到一个界面输入 e ——> 看到一个新界面 选中第二行(编辑内核)再输入e ——> 在这行最后输入 1(空格 1)在输入回车 -> 再次输入b进入到单用户模式 passwd root 修改root密码 添加用户: useradd Diyo useradd -d /home/'目录' diyo 创建用户diyo指定目录 useradd -g 组名 用户名 设密码: passwd Diyo userdel 删除用户 userdel -r 删除用户及其家目录 usermod -g 组名 用户名 改变用户的用户组 usermod -d 目录名 用户名 改变该用户登录的初始目录 查看用户信息 id 用户 组管理和权限管理 组的创建 groupadd policeman groupdel 修改文件所在组 chgrp chgrp 组名 文件名 chgrp -R 组名 文件夹 修改目录下的所有文件和目录所有组 修改用户所在组 usermod -g 组名 用户名 改变用户的用户组 usermod -d 目录名 用户名 改变该用户登录的初始目录 权限管理:(-:普通文件,d:目录,l:软链接,c:字符设备【键盘,鼠标】,b:块文件,硬盘) 权限分为三种:r可读 用4表示,w可写 用2表示,x可执行 用1表示 -rw-r--r--. 1 Diyo works 10 7月 2 00:32 mytest1.java - 文件类型 rw- 文件所有者Diyo对该文件的权限 r-- 文件所在组works对该文件的权限 r-- 其它组的用户对该文件的权限 修改权限chmod 方式一:+、-、=变更权限 u:拥有者 g:拥有组 o:其他组 a:所有人 chmod u=rwx,g=rx,o=rx 文件 chmod u-r chmod g+w chmod a=rwx 方式二:r=4 w=2 x=1 - 数字变更 chmod 755 文件 修改文件所有者: chown chown 用户名 文件名 查看所有组信息 cat /etc/group 查看所有用户信息 cat /etc/passwd 口令配置文件(密码) cat /etc/shadow whoami 用户退出登录的方法有以下三种: 1、在shell提示符下输入 exit 按回车确认 2、在shell提示符下输入 logout 按回车确认 3、按快捷键crtl+d (此方法同logout效果) vim编写C、C++程序过程(以hello world为例): 1、vim hello.c/hello.cpp。 创建hello.c/hello.cpp文件,并进入vim界面; 2、键入i,进入输入模式。 3、编写hello.c/hello.cpp程序。 4、先按Esc键,退出输入模式;然后,按Shift+:键,进入命令模式。输入wq,保存并退出。 5、编译hello.c/hello.cpp。 5.1、对于C程序:用gcc hello.c便可编译; 5.2、对于C++程序:用g++ hello.cpp可编译。编译后,均生成a.out的可执行文件; 6、键入指令"./a.out",运行程序。 7、在Terminal上显示"hello world"即成功。 pwd 显示当前工作目录 cd 改变目录 ls 列出文件和目录 ls -a 显示隐藏文件 ls -l 显示长列表格式 ls -al ls -lh 按人查看 mkdir 建立目录 mkdir -p test/t11/t1 递归创建目录 rmdir 删除空目录 rmdir -p 递归删除 touch 建立空文件 cp 复制命令 \cp 强制复制 cp -r dir1 dir2 递归复制命令(复制子目录信息) mv 移动文件和改动文件文件名 rm 删除文件和目录 rm -rf * 删除文件所有内容(包括目录和文件)r递归 f强制 ln 建立符号连接 ln -s 源 目录 ln -s /etc/inittab inittab (inittab指向实际文件/etc/inittab) cat -n显示行数 more 显示文件内容,带分页 less 显示文件内容带分页(看大文件建议) ctrl+f ctrl+b = 空格space:向下翻一页 回车Enter: 重定向命令: > 输出重定向 覆盖 >> 追加 ls -l > a.txt 列表的内容写入文件a.txt中(覆盖写) ls -al >> a.txt 列表的内容追加到文件a.txt的末尾 从文件中输入信息database_program < database_data cat 文件1 > 文件2 echo "内容" >> 文件
echo 输出内容到控制台 echo $PATH 输出变量 echo "hello" 输出文本 head 指令 显示文件的前面部分(默认显示前十行) head -n 5 查看前5行 tail 指令 显示文件的后面部分(默认显示后十行) tail -n 5 查看后5行 tail -f 实时追踪文档的所有更新,工作经常使用 history 显示多有历史指令 history 10 显示最近10个指令 !数字 执行第多少指令 date 日期类指令 date 显示当前时间 date "+%Y-%m-%d" date "+%Y年%m月%d日" date "+%Y年%m月%d日 %H:%M:%S" date -s 设置时间 date -s "2019-07-10 18:34:56" cal 日历指令 cal 显示当前日历 cal 2019 显示一整年日历 搜索查找类: find:查找文件 find /home -name 文件名 搜索范围/home 按文件名-name 文件名 查找文件 find /opt -user 文件名 按文件的拥有者查找 find / -size +20M 查找目录下大于20M的文件 find / -size -20k 查找目录下小于20K的文件 find / -size 20M 查找目录下等于20M的文件 find / -name *.txt 按文件名通配符查找 locate:快速定位文件路径 locate 搜索文件 locate 特别说明:第一次运行前必须使用updatedb指令创建locate数据库 updatedb 创建locate数据库 grep指令和 管道符号| grep 匹配(查找)字符串 在文本中查询内容(-n显示行数) grep -n "abc" aaa.txt 在aaa.txt中查询abc grep -n 显示行号 grep -i 忽略大小写 | 管道命令:表示将前一个命令的处理结果传递给后面的命令处理 压缩和解压缩 gzip/gunzip gzip用于压缩/gunzip用于解压缩 gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)(压缩后原来文件不保留) gunzip 文件.gz 文件进行解压缩 zip/unzip zip用于压缩/unzip用于解压的,在项目打包发布中很有用 zip 可以是文件和文件夹 zip -r a.zip /home 递归压缩/home成a.zip unzip unzip -d 解压后存放的目录 tar 打包指令 最后打包的文件是 .tar.gz的文件 -c 产生.tar文件 -x 解压.tar文件 -z 打包同时压缩 -v 显示详细信息 -f 指定压缩后的文件名 tar -zcvf 压缩(打包)a.tar.gz tar -zcvf a.tar.gz a.txt tar -zcvf a.tar.gz /home/ tar -zxvf 解压到当前目录 tar -zxvf a.tar.gz 解压到指定目录 tar -zxvf a.tar.gz -C /home man命令相当于dos下的help man grep 查询grep命令帮助 Linux 磁盘分区、挂载 crond任务调度 crontab定时任务调度 -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab任务 service crond restart 重启任务调度 crontab 可以用来定时调度 某个程序或者某个脚本---------crontab-----------------crontab---------------crontab---------- crontab默认情况下是不执行开启日子的,所以一开始写完后,不能执行,想查看日志,却找不到。所以先开启定时任务的日志来查看 修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf 文件中的 #cron.* 前的 # 删掉;用以下命令重启rsyslog服务:service rsyslog restart; 然后再重启crontab服务: service cron restart;
网上很多人说开启,停止或者重启contab服务用命令 service crond restart,执行这个命令会报出 unrecognised service ,这里吧 crond 改成 cron 就可以了。 之后,在这个位置 /var/log/cron.log 就可以查看定时任务的文件日志文件了; 下面这个命令还可以查看crontab的状态 service cron status;
1 编写脚本 放入家目录 vi pi.sh内容为#!/bin/bash. /home/briup/.bashrc. /etc/profileJAR_FILE="/Users/zhaojing/Documents/hadoop-3.0.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar"echo "starting......" dateyarn jar $JAR_FILE pi 10 1000 echo "==============================="
------------------------#!/bin/bashHADOOP_USER_NAME=hj_dengzhiyongPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/briup/software/jdk/bin:/home/briup/software/hadoop/bin/:/home/briup/software/hadoop/sbinJAR_FILE="/home/briup/software/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar"echo "starting......" dateyarn jar $JAR_FILE pi 10 1000echo "==============================="
解释:行6 shell脚本必须写的内容 行7 行8 crontab任务中不会引用环境变量故有些命令会失效,此处意思为引入环境变量 行9 定义变量JAR_FILE内容为某个jar包,例如 pi的jar包 行10 运行时输出start.... 行11 输出时间 行12 提交pi任务 因为默认情况下cron 输出结果会通过邮件方式发送 我们没有邮件系统故结果直接重定向到某个文件中
2 脚本编写好后新建crontab任务(命令) crontab -e 输入命令后进入 vi 编辑器 意为部署某个任务 该编辑器中每行内容结构如下 代表在某年某月某日某分执行某个命令 * * * * * command path (~/.bashrc)
*/1 * * * * /bin/bash /home/briup/pi.sh >> /home/briup/log.txt
写完后保存退出 -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置
解释:字段名称 说明 取值范围分钟 每小时的第几分钟执行 0-59小时 每日的第几个小时执行 0-23日期 每月的第几天执行 1-31月历 每年的第几月执行 1-12星期 每周的第几天执行 0-6命令名称 欲执行的命令及参数
符号 说明* 表示任何时刻, 表示分割- 表示一个段,如第二段里: 1-5,就表示1到5点/n 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
以下是常用的一些时间间隔写法15 05 * * * 每天的05:15 执行0 17 * * 1 每周一的 17:00 执行0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行0 21 * * 1-6 周一到周六 21:00 执行*/10 * * * * 每隔10分 执行* 1 * * * 从1:0到1:59 每隔1分钟 执行0 */1 * * * 毎时0分 每隔1小时 执行2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行
3 查看服务状态 service cron status-------------------crontab-end----------------------------
转载于:https://www.cnblogs.com/Diyo/p/11167574.html
