根目录:/
/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/profile
JAR_FILE="/Users/zhaojing/Documents/hadoop-3.0.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar"
echo "starting......"
date
yarn jar $JAR_FILE pi 10 1000
echo "==============================="

------------------------
#!/bin/bash
HADOOP_USER_NAME=hj_dengzhiyong
PATH=/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/sbin
JAR_FILE="/home/briup/software/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar"
echo "starting......"
date
yarn jar $JAR_FILE pi 10 1000
echo "==============================="

解释:行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----------------------------

初学Linux (Linux_note)的更多相关文章

  1. linux初学 :linux 常用命令(二)

    压缩和解压命令 gzip/guzip   zip/unzip   tar gzip和gunzip一般可用参数是-r,例: gzip test.txt 压缩文件 gzip -r test 压缩所有tes ...

  2. 初学Linux

    一直觉得Linux敲命令很蛋疼,今天开始学习一下吧,主要以练习(想到啥就查啥)命令和练习在Linux中编程(Python)为主吧. 不记得什么时候安装的Ubuntu 12.04.3 LTS虚拟机,连密 ...

  3. linux初学 :linux 常用命令(一)

    首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到 reboot 一般不跟参数使用,输入指令即可重启 shutdown 一般需要跟参数,例: shutdown -r 延时多少分钟重启,一般使用 ...

  4. 初学linux命令

    linux系统的精髓在于它的命令行 早就听说要学习linux系统,就要学习它的命令行(Command Line Interface).说来惭愧,已经使用了linuxmint快两个月了,虽然能够使用一些 ...

  5. 初学Linux要掌握的命令

    echo:打印,或者直接输出指定的字符串 语法:echo (选项) (参数) 选项:/a: 发出警告声 /b: 删除前一个字符 /c: 最后不加上换行符号 /f: 换行但光标仍旧停留在原来的位置 /n ...

  6. 初学Linux系统最应该做对的4件事情[长文]

    “闲来无事,逛逛贴吧”已经是本人无事消磨时间的最佳选择了.五花八门的问题,各式各样的回答,总能给自己带来无限的欢乐.当然也有些问题值得自己去思考或者回答.之前就有人在贴吧里问到“Linux好难啊!该怎 ...

  7. 初学LINUX版本的选择

    1.用于企业环境:建议使用商业版本,例如Red Hat的RHEL或者是Novell的SuSE都是很不错的选择!毕竟企业的环境强调的是永续的经营,你可不希望网管人员走了之后整个机房的主机都没有人管理吧! ...

  8. 初学Linux应该注意的事项

    相比于windows linux严格区分大小写 linux所有内容都是以文件形式保存 linux不靠扩展名区分文件类型(靠权限),linux下文件扩展名主要是方便管理员分类 linux所有的存储设备都 ...

  9. linu学习记录--初学linux中的几个基本命令以及比较关键的man指令

    import chardet chardet.detect() #传入参数可以输出查看参数的对应编码 首先是用decode将对象编码转换成unicode,然后用encode将对象编码转换成输出所需,u ...

随机推荐

  1. spring学习(二)spring容器搭建与应用

    本文只是对spring容器进行操作 最简单的一个案例: 一.导包 使用IDEA的maven工程 1.在pom.xml中导入依赖 <?xml version="1.0" enc ...

  2. SpringBoot+Vue项目上手

    博客 https://gitee.com/RoadsideParty/White-Jotter-Vue?_from=gitee_search UI框架 https://at-ui.github.io/ ...

  3. 使用ATOMac进行Mac自动化测试

    ATOMac简介 atomac是一个支持在mac上做自动化的python库,GitHub地址如下: https://github.com/pyatom/pyatom 安装 # Python2 sudo ...

  4. HTML5其他标签应用

    HTML5 是下一代 HTML 标准. HTML5 多媒体 音频标签 <audio src=" "></audio> 视频标签 <video src= ...

  5. Kaggle 入门题-泰坦尼克号灾难存活预测

    这个题目的背景概况来讲就是基于泰坦尼克号这个事件,然后大量的人员不幸淹没在这个海难中,也有少部分人员在这次事件之中存活,然后这个问题提供了一些人员的信息如姓名.年龄.性别.票价,所在客舱等等一些信息, ...

  6. JPA第二天

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springdata"获取视频和教程资料! b站在线视 ...

  7. logging日志基础示例

    import logging logger = logging.getLogger() # 获取日志对象 logfile = 'test.log' hdlr = logging.FileHandler ...

  8. Numpy数组的函数

    import numpy as np # 将 0~100 10等分 x = np.arange(0,100,10) # array([ 0, 10, 20, 30, 40, 50, 60, 70, 8 ...

  9. linux的文件处理(匹配 正则表达式 egrep awk sed)和系统、核心数据备份

    文件处理 1.处理方式 匹配 正则表达式 egrep awk sed 2.文件中的处理字符 \n  新行符 换行 \t  制表符 tab键 缺省8个空格 \b  退格符 backspace键 退格键 ...

  10. 连接云MariaDB实例

    新建实例 MariaDB CVM 内网连接 CVM远程登录测试(同一个VPC下): CVM安装客户端: yum install mysql 连接: mysql -h MariaDB内网ip -u 数据 ...