Linux常用命令

  • Post author:
  • Post category:linux


目录/文件指令

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,标准错误输出)



版权声明:本文为m0_62665171原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。