目录/文件指令
cd命令
[a@localhost ~]$ cd /etc #绝对路径
[a@localhost etc]$ pwd #查看当前路径
/etc
[a@localhost etc]$ cd yum.repos.d/ #切换相对路径
[a@localhost yum.repos.d]$ cd #切换到当前用户的家目录
[a@localhost ~]$ pwd
/home/a
[a@localhost ~]$ su root
Password:
[root@localhost a]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd ~ #切换到当前用户的家目录
[root@localhost ~]#
创建目录和文件
mkdir -p 递归创建目录
[root@localhost soft]# echo hello1111111 > 1.txt 创建文件并覆盖内容
[root@localhost soft]# echo hello >> 1.txt 创建文件并追加内容
[root@localhost soft]# vi hello.sh 创建文件并编辑
[root@localhost soft]# touch a.txt 创建文件
复制
[root@localhost soft]# cp a ../server/ -r 递归复制目录
[root@localhost server]# cp a.txt ../server/
剪切
[root@localhost server]# mv 1.txt /export/server/
[root@localhost /]# mv a /export/server/
删除
[root@localhost server]# rm -rf /export/server/a.txt
[root@localhost server]# rm -rf /a 递归删除目录
文件命令
vim 是vi的加强版
如果没有vim命令 可以进行yum安装: yum -y install vim*
命令模式
a:在光标所在字符串后插入
A:在光标所在行尾插入
i:在光标所在字符前插入
I:在光标所在行行首插入
o:在光标下插入新行
O:在光标上插入新行
其他命令模式
gg 光标到第一行
G 光标到最后一行
nG 到第n行
dd 删除当前行
10dd 删除n行
yy 复制当前行 p粘贴
nyy复制n行 p粘贴
底线模式
:set nu 显示行号
:set nonu 不显示行号
:wq保存退出
:q!不保存退出
除了vim之前 文件命令还有 touch, cat, tail -f
tail命令
tail 命令从指定点开始将文件写到标准输出。
命令格式
tail[必要参数][选择参数][文件]
命令参数
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c 显示的字节数
-n 显示行数
-q, –quiet, –silent 从不输出给出文件名的首部
-s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
使用实例
tail -n 10 file.log 查询日志尾部最后10行的日志;
tail -n +10 file.log 查询第10行之后的所有日志;
tail -fn 100 file.log 循环实时查看最后100行记录
tail一般还会配合着grep用
tail -fn 1000 file.log | grep ‘关键字’
如果查询的数据量太大,Ctrl + F 或者 空格键可以翻页查看
tail -n 5000 file.log |more -1000
用户与权限指令
用户指令
新建用户
[root@node01 ~]# useradd jack
添加jack普通用户后,jack就会有一个自己的家
[root@node01 ~]# cd /home/
[root@node01 home]# ll
drwx——. 3 jack jack 78 Aug 11 10:06 jack
drwx——. 15 qinyijie qinyijie 4096 Aug 10 11:50 qinyijie
查看用户
#查看用户信息的命令
[root@node01 home]# id jack
uid=1001(jack) gid=1001(jack) groups=1001(jack)
[root@node01 home]#
设置用户登录密码
#设置密码的命令
[root@node01 home]# passwd jack
Changing password for user jack.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@node01 home]#
su用户切换
#root用户切换到普通用户,无需密码
[root@node01 home]# su jack
[jack@node01 home]$
#普通用户切换到root用户,需要root的密码
[jack@node01 home]$ su root
Password:
[root@node01 home]#
#普通用户切换到普通用户,需要密码
[zhuximing@node01 home]$ su jack
Password:
[jack@node01 home]$
删除用户
#只是删除用户,没有抄家
[root@node01 ~]# userdel jack
#删除用户的同时连家也抄了
[root@node01 ~]# userdel -r jack
[root@node01 ~]# cd /home
[root@node01 home]# ll
[root@node01 home]#
权限指令
查看文件的权限
1 、文件类型说明 :d:目录 -:普通文件 l:软链接
建立软链接语法:ln -s 源文件或目录 软连接文件或目录
栗如:ln -s /a /a5
2、r:可读(数字代号4),w:可写(数字代号2)、x:可执行(数字代号1)
通过字母授权
[jack@node01 ~]$ chmod u-r a.txt
[jack@node01 ~]$ ll
total 0
–w-rw-r–. 1 jack jack 0 Sep 23 14:24 a.txt
[jack@node01 ~]$ cat a.txt
cat: a.txt: Permission denied
[jack@node01 ~]$ chmod u+r a.txt
[jack@node01 ~]$ ll
total 0
-rw-rw-r–. 1 jack jack 0 Sep 23 14:24 a.txt
[jack@node01 ~]$ cat a.txt
[jack@node01 ~]$
#列式的格式还有 chmod u=wrx,g=wrx,o=wrx a.txt
通过数字授权
r:可读(数字代号4),w:可写(数字代号2)、x:可执行(数字代号1)
[jack@node01 ~]$ chmod 000 a.txt
[jack@node01 ~]$ ll
total 0
———-. 1 jack jack 0 Sep 23 14:24 a.txt
[jack@node01 ~]$ chmod 757 a.txt
[jack@node01 ~]$ ll
total 0
-rwxrwxrwx. 1 jack jack 0 Sep 23 14:24 a.txt
[jack@node01 ~]$
递归授权
[jack@node01 ~]$ mkdir a/b/c/d -p
[jack@node01 ~]$ ll
total 0
drwxrwxr-x. 3 jack jack 15 Sep 23 14:33 a
-rwxrwxrwx. 1 jack jack 0 Sep 23 14:24 a.txt
[jack@node01 ~]$ chmod 700 -R a
[jack@node01 ~]$ ll
total 0
drwx——. 3 jack jack 15 Sep 23 14:33 a
-rwxrwxrwx. 1 jack jack 0 Sep 23 14:24 a.txt
[jack@node01 ~]$ cd a/b
[jack@node01 b]$ ll
total 0
drwx——. 3 jack jack 15 Sep 23 14:33 c
[jack@node01 b]$
sudo
sudo:root把一部分本来只能超级用户执行的命令赋予普通用户执行,即经由 sudo 所执行的指令就好像是 root 亲自执行。
使用root用户执行visudo
visudo 实际上是修改/etc/sudoers 文件
[rose@localhost /]$ sudo -l #查看rose有哪些root的权限
解压命令
tar -zxvf nginx-1.18.0.tar.gz -C /export/server/ c表示解压到指定文件夹
复制文件到其他服务器上
格式:scp user@ip:/opt/包名称/opt
例:scp -r redis-5.0.12 root@192.168.90.124:/home/adp
命令参数:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项
nohup
nohup java -jar /root/restaurant-0.0.1-SNAPSHOT.war>log.out 2>&1 &
nohup java -jar web-zhuchuang.jar>log.out 2>&1 &
========================================================================
方式1 后台启动程序: java -jar XXX.jar &
窗口不被锁定,输出日志;关闭窗口时,不会停止执行。
方式2 nohup 不挂断运行的命令,当终端或者账户关闭的时候,程序依旧运行。
nohup 并不支持后台运行,它是忽略内部的挂断信号,不挂断运行
nohup java -jar XXX.jar & 默认会把日志输出到nohup.out文件中。
指定输出文件: nohup java -jar XXX.jar >log.out &
nohup java -jar share-weixin-service.jar –server.port=8080 >log.out &
nohup java -jar share-weixin-service.jar >log.out 2>&1 &
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 log.out 文件中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)