linux学习第三天笔记
程序员文章站
2022-06-05 18:37:36
...
一 用户管理
-
查看用户
# cat /etc/passwd
-
用户的分类
root:x:0:0:root:/root:/bin/bash 用户名:密码:用户id:用户组id:用户的描述信息:用户的家目录:脚本所在位置
0 表示超级用户
1~999 表示伪用户 系统的进程
1000~ 普通用户
-
用户的创建
创建用户会默认会创建用户的家目录
# useradd jack # passwd jack
-
用户的删除
# userdel -r jack 删除用户并删除家目录
-
用户组
查看
# cat /etc/group
创建
# groupadd bigdata_grp
-
用户的切换
$ su root 不完全切换(不会切换工作目录以及环境变量) 可以写为:$ su $ su - root 可以省略root: $ su -
# exit 从当前用户退出
-
sudo 权限配置
# visudo 第100行处添加 (显示行号 底行模式:set nu) hadoop ALL=(ALL) NOPASSWD: ALL 解释 root ALL=(ALL) ALL 在任意地点,以系统的身份执行所有命令
二 权限管理
查看文件权限
$ ls -l test.log
-rw-rw-r--. 1 hadoop hadoop 0 Dec 10 21:58 test.log
解释
- 表示 文件, d表示文件夹
rw-rw-r-- 分别表示用户、用户组、其他的权限
第一个hadoop 表示文件所属用户
第二个hadoop 表示文件所属用户组
权限介绍
-
权限表示
字符 二进制表示 十进制表示 rwx 表示可读、可写、可执行 111 7 rw- 表示可读、可写、不可执行 110 6 r-- 只读 100 4 r-x 可读、可执行 101 5
-
权限分类
u user 所属用户 g group 所属用户组 o other 其他用户 rwxrw-r-- rwx表示所属用户权限 rw-表示用户组权限 r--表示其他用户
-
权限的修改
$ chmod u+x test.log 将当前目录下的test.log 加上执行权限 $ chmod g-rw test.log 删除所属用户组的读、写权限 $ chmod 444 test.log 所有人只读 $ chmod 777 test.log 任意用户任何权限 $ chmod -R 514 myDir 递归修改权限
-
修改文件所有者
$ sudo chown hadoop:hadoop test.log 修改文件所有者 $ sudo chown -R hadoop:hadoop hello/ 递归修改文件夹所有者
练习:
1. 使用root在/opt 下创建a/b/c目录,并创建a/b/c/test.log文件
2. 让hadoop对a及子文件具有 读写执行权限
3. 修改test.log为hadoop所有
三 管道符 过滤符 追加 覆盖
管道符 |
$ ll /etc/ | more 将前一个命令的结果, 传给后一个命令执行
$ ll /etc/ | tail
过滤符 grep
$ cat /etc/hosts | grep centos
$ cat /etc/passwd | grep hadoop
$ ifconfig | grep inet
追加 >>
$ echo "hello world" >> test.log 输出helloworld字符串,追加到test.log中
覆盖 >
$ ll /etc/ > test.log 将ll /etc的内容 覆盖到test.log中
wc
$ wc -w test.log 统计单词个数
$ wc -l test.log 统计行数
$ ls /etc | wc -l 统计/etc目录下 子文件个数
统计文件大小
$ sudo du -sh /boot/ 统计/boot目录的大小
四 文件查找
find语法格式:
find 范围 [选项] 条件按
-
文件名搜索
$ sudo find /etc -name *work 查找/etc下 名为已work结尾的文件 $ sudo find /etc/ -name init $ sudo find /etc/ -name init* $ sudo find /etc/ -name init??? ?表示一个字符
-
文件大小
$ find / -size +2M 查找系统中大于2M的文件 $ sudo find / -size +2M -name audit*
-
按所属用户查找
$ sudo find / -user tom
-
文件类型 (f表示文件, d表示目录)
$ sudo find /etc -name init -type d 查找/etc目录下, 名为init的目录
五 压缩解压
win: zip、rar
linux: .tar.gz
-
tar命令
-C change to directory DIR -z --gzip -c create a new archive -x extract files from an archive -v verbosely list files processed -f file
-
压缩
压缩当前目录的a文件夹, 到当前目录下名为a.tar.gz $ tar -zcvf a.tar.gz a/ 备份系统配置文件 $ sudo tar -zcf etc_bak.tar.gz /etc 归档当前用户家目录 $ tar -zcvf hadoop_home.tar.gz /home/hadoop/
-
解压 (注意使用 -C 指定解压目录)
$ tar -zxvf a.tar.gz 解压当前目录下的a.tar.gz文件,当前目录 将备份的etc文件解压到a/b/c目录下 $ sudo tar -zxvf etc_bak.tar.gz -C a/b/c/
六 rpm包管理
-
查看安装的软件
$ rpm -qa 查看系统的安装软件 $ rpm -qa | grep ssh 查看ssh相关软件 $ rpm -qa | grep jdk jdk相关软件
-
rpm安装
$ sudo rpm -ivh tree-1.5.3-3.el6.x86_64.rpm
-
卸载
$ rpm -qa | grep tree 查询软件名称 $ sudo rpm -e tree-1.5.3-3.el6.x86_64 卸载该软件
七 yum管理
优点: 自动获取、解决依赖问题
-
查看yum源的软件
# yum list 查看所有 $ sudo yum list | grep tree 显示包含tree的
-
查看安装软件
$ yum list installed $ yum list installed | grep tree
-
安装
$ sudo yum install tree.x86_64 $ sudo yum -y install tree.x86_64 确认
-
卸载
$ sudo yum -y remove tree.x86_64
八 JDK安装
-
卸载自带jdk
查看自带jdk $ rpm -qa | grep jdk 卸载 $ sudo rpm -e java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el7_7.x86_64 --nodeps $ sudo rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el7_3.x86_64 --nodeps $ sudo rpm -e copy-jdk-configs-3.3-10.el7_5.noarch --nodeps $ sudo rpm -e java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 --nodeps
-
上传并解压 jdk
创建目录 $ sudo mkdir /opt/software /opt/software作为存放软件包的目录 $ sudo mkdir /opt/modules /opt/modules作为安装解压软件的目录 修改所有者 $ sudo chown hadoop:hadoop /opt/modules/ $ sudo chown hadoop:hadoop /opt/software/
上传解压
$ tar -zxvf jdk-8u112-linux-x64.tar.gz -C /opt/modules/
-
配置环境变量
$ sudo vi /etc/profile 修改系统环境变量文件 在文件末尾添加 # Java home环境变量 export JAVA_HOME=/opt/modules/jdk1.8.0_112 export PATH=$PATH:$JAVA_HOME/bin
-
刷新环境
$ source /etc/profile
-
测试
java javac java -version
八 系统管理命令
-
ifconfig
-
ping
-
查看系统资源,
按q,或ctrl+c
$ top
# 2秒采集一次, 采集3次 $ vmstat 2 3
-
查看内存
$ free -h
-
查看进程
$ ps -ef | grep ssh
# 查看java进程, jdk的命令 $ jps
-
杀死进程
$ kill -9 进程id
-
查看端口占用
-t tcp协议的进程, -l 监控 -n显示端口 -p显示进程id $ netstat -antp $ sudo netstat -antp | grep 22 查看使用22端口的程序
上一篇: vim程序编辑器-练习