root 用户~规定为 /root
[root@localhost ~]$ pwd
/root
普通用户~默认 /home/username
[liqiang@localhost ~]$ pwd
/home/liqiang
pwd 显示当前光标所在路径
~ 与 / 的区别~ 代表家目录, 对于root用户来讲就是: /root ,
/ 是根目录。/root 只是 / 下的其中一个子文件夹。
切换路径 去到家目录:[root@localhost /]# ls
bin dev home root etc usr var
去到根目录cd
cd ~
回退到上一次停留目录## 所有用户同一个根目录
cd /
去到上一层、上两层目录cd -
cd …/
cd …/…/
[cd ./ 是当前目录,相对路径 ]
绝对路径: 以根目录为起始
[root@localhost local]$ cd /usr/local/mysql
相对路径: 以当前目录为起始
文件 查看当前目录有那些文件/文件夹[root@localhost local]$ cd mysql
[root@localhost local]$ cd ./mysql
mkdir 创建文件夹ls
ll –> ls -l 的别名,列出文件/文件夹详细信息
ll -a –> ls -l -a 查看包括隐藏文件在内的所有文件/文件夹
ll -h 查看文件大小 【du -sh 可看文件/文件夹大小,小于4k的文件/夹只会显示4.0k】
ll -rt 按时间并排展示,一般 -rt 一起使用
ls --help 更多命令查看命令帮助
单个创建 mkdir a (相对路径创建在当前目录下)
mkdir /xxx/xxx (绝对路径可以往任意路径创建)
级联创建 mkdir -p 1/2/3
并联创建 mkdir a b c
复制和移动文件
cp /xxx/xx ./xxxx [源文件] [目标文件] mv /xxx/xx xxxx [源文件] [目标文件] ln -s mysql-5.6.23 mysql [源文件] [快捷方式] ## 代替mv重命名,便于上线后版本变更,存储位置变更上传、解压文件
# cd 到使用目录 [yum install -y lrzsz]
# rz 从windows资源管理器选中文件上传到linux当前目录 【或使用xftp工具】
# sz filename 将文件下载到windows
# unzip file.zip 解压zip [yum install -y unzip]
# tar -xzvf file.tar.gz 解压tar.gz [yum install -y lrzsz]
# tar –xvf file.tar 解压tar **需要安装工具包**
# unrar e file.rar 解压rar **需要安装工具包**
创建空文件
将已有内容的文件清空内容
- touch xxx.xx
- cat /dev/null > xxx.xx
- echo “” > xxx.xx (空字符串并不完全空)
- vi xxx.xx (前提xxx.xx不存在,vi后不编辑,保存退出)
查看文件的内容
- cat /dev/null > xxx.xx
- echo “” > xxx.xx (空字符串并不完全空)
- vi gg dG 【gg 第一行;dG删除光标所在及以后行;。。。】
- rm -rf 后再 touch
cat 一次全部展示 (小文件) more 按空格往下翻页,不能往上,按q退出 (大文件) less 按上下箭头往上下,按q退出 (大文件)
- cat xxx.xx|grep -C 20 ERROR
【过滤出关键字 ERROR 出现的前20行+后20行的内容】
【管道符:第一个命令的输出为第二个命令的输入】
【grep:按关键字过滤 】
【- A 后20行;-B 前20行;-C 前后20行 -after/-before】
全局搜索一个文件的名称
- 生成到log文件,再用sz命令 下载到windows来查看(一般在download目录下)
- cat xxx.xx | grep -C 30 ERROR > error.log
【> 新建/覆盖】 【把过滤出来的文件输出到新的文件】
- cat xxx.xx| grep -C 30 ERROR >> error.log
【>> 追加】
- vi 进入文件去搜索
- 实时查看
- tail -200f xxx.xx 实时查看文件最新200行【没有-200F的,一般脚本里用F,自己操作时f】
- tail -F xxx.xx 【F = f + retry,文件消失后会不停尝试重新获取文件】
which 和 whereis 的区别find / -name ‘*mysql*’ [*:模糊搜索;/ 根路径:全局会很慢,能确定部分目录就用/xxx 替换/]
环境变量和PATHwhich 是直接查找可执行命令;
whereis 不仅可以查找命令还可以查找文件位置。
全局环境变量:/etc/profile
个人环境变量: (~自己家目录)~/.bashrc
~/.bash_profile
最好配置在 .bashrc。【切换用户 su 不会执行.bash_profile;su - 才会】可能存在其他不会生效情况
修改配置文件后:刷新、执行配置文件 [source 或 .] (只会在当前会话,其他已经连接的会话也需要source)
source /etc/profile
. .bashrc 【第一个. 与 source同样效果,代表执行】
which java 【检查修改有没有生效】
echo $JAVA_HOME -->能输出 /usr/java/jdk1.8.0_121 是因为在/etc/profile里添加了JAVA_HOME
vi ~/.bashrc 【sao操作】
PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1 于是得到了: localhost:mysqladmin:/usr/local/mysql:>别名
[root@localhost ~]# alias jk='pwd' ## 当前会话生效 【注意=前后不能有空格】
如果要永久生效需要配置在 /etc/profile 中
vi /etc/profile 添加一句 :alias jdk='echo $JAVA_HOME' 【注意=前后不能有空格】 source /etc/profilevi 编辑文件的过程
用户 添加用户vi xxx.xx 打开进入命令行模式
i 进入编辑模式
esc 进入命令行模式
shift+: 进入尾行模式
wq 保存退出;q退出;q!不保存;wq!强制保存退出
[root@localhost ~]# useradd liqiang
[root@localhost ~]# id liqiang
uid=1002(liqiang) gid=1002(liqiang) groups=1002(liqiang)
【 gid:主组; groups:所在的所有用户组】
如果创建用户时,家目录空文件夹提前存在但没有配置文件,会报错: useradd: warning: the home directory already exists. Not copying any file from skel directory into it. 处理办法(把缺少的文件从 [/etc/skel/.*] 复制一份过来) [root@localhost ~]# cp /etc/skel/.* /home/liqiang/设置密码
删除用户[root@localhost ~]# passwd liqiang
创建用户组[root@localhost ~]# userdel liqiang
【用户组下唯一用户删除时,用户组也会删】
[root@localhost ~]# group -g 101 dba
[root@localhost ~]# useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
将用户 liqiang 添加到另外一个用户组 bigdata
[root@localhost ~]# usermod -a -G bigdata liqiang
[root@localhost ~]# id liqiang
uid=1002(liqiang) gid=1002(liqiang) groups=1002(liang),1003(bigdata)
修改主组【修改gid后groups也只剩主组这一个,需要添加原来的组到groups】
权限[root@localhost ~]# usermod --gid bigdata liqiang
[root@localhost ~]# id liqiang
uid=1002(liqiang) gid=1003(bigdata) groups=1003(bigdata)
[root@localhost ~]# usermod -a -G liqiang liqiang
uid=1002(liqiang) gid=1003(bigdata) groups=1003(bigdata),1002(liang)
r4 w2 x1
rwxr-xr-x 代表 755
第一组 rwx代表用户的权限 [读、写、执行] 第二组 r-x代表同用户组下其他用户的权限 [读、执行] 第三组 r-x代表其他用户组的权限 [读、执行]
chown -R 用户:用户组 文件夹/文件路径
chmod -R 777 文件夹/文件路径
切换用户[root@localhost ~]# chown -R mysqladmin:dba /usr/local/mysql
[root@localhost ~]# chmod -R 755 /usr/loacl/mysql
su ruoze 切换到用户,但pwd在切换前的目录(临时) su - ruoze 切换到该用户的家目录,且执行环境变量文件 .bash_profile su 不会执行;su - 都执行 .bashrc su 执行 ;su - 都执行普通用户获取root的最大权限 [sudo]
[root@localhost ~]# vi /etc/sudoers
liqiang ALL=(ALL) NOPASSWD:ALL服务 查看服务,服务的端口号
检查ip / 端口号通不通[root@localhost ~]# ps -ef|grep mysql
[root@localhost ~]# netstat -nlp|grep pid
ping ip telnet ip [端口号] 【yum install telnet】查看系统磁盘,内存的命令
df -h free -m查看机器负载
top
PID USER PR NI VIRI RES SHR %CPU TIME+ COMMAND
历史命令记录 查看/清空PID 配合杀进程【冷静使用…】
kill -9 [PID]
history ; history -c ;
linux的 /tmp 目录超过30天没有访问会自动删除
关于部署服务的任何东西不要配置在/tem下
/tmp 的权限是777,可以放一下需要传送的文件,不用考虑权限问题
mkdir /usr/java
cd /usr/java
rz 从windows上传jdk压缩包 到 /usr/java
unzip jdk1.8___.zip
查看解压后jdk文件夹的权限,如果不是root需要设置为root chown -R root:root /usr/java/* 配置JAVA_HOME到环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_121 export PATH=$JAVA_HOME/bin:$PATH
[root@Gargantua java]# source /etc/profile
[root@Gargantua java]# which java
/usr/java/jdk1.8.0_121/bin/java
[root@Gargantua java]# echo $PATH
/usr/java/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
安装完成
安装 scala
cd /home/hadoop
[hadoop@localhost ~]$ mkdir -p software source data app script lib
[hadoop@localhost ~]$ cd software/
[hadoop@localhost software]$ rz [hadoop@localhost software]$ tar -zxvf scala-2.12.14.tgz -C ~/app/
[hadoop@localhost software]$ cd ~/app
[hadoop@localhost app]$ ln -s scala-2.12.14/ scala
[hadoop@localhost app]$ vi ~/.bashrc
export SCALA_HOME=/home/hadoop/app/scala export PATH=$PATH:$SCALA_HOME/bin
[hadoop@localhost ~]$ which scala
~/app/scala/bin/scala
[hadoop@localhost ~]$ scala
scala> print("Hello word!")
Hello word!
windows 安装scala,和安装jdk一样,并在高级系统设置里添加 SCALA_HOME 和 path。
IDEA集成java项目与scala:
-
需要在Plugins里下载scala插件
-
在项目名上右键 Add framework support,找到scala并勾选
-
项目里创建sacla文件夹,与java文件夹平级,右键scala文件夹,Mark Directory As --Source Root
org.scala-lang scala-library2.12.14



