1.实时查看tomcat日志(tail)

$ tail -f catalina.out

2. SSH 协议登录 Linux (ssh)

端口默认:22

1
2
# 采用密钥文件登录后,执行命令1;命令2。。。
ssh [-i 密钥文件]用户名:密码@主机名[:端口] ["命令1;命令2......"]

ssh scp 远程登录及文件复制命令.note

3.查看端口号及PID(netstat)

1
2
$ netstat -an|grep 8005  //查询8005端口
# netstat -ntpl

4.查询进程信息(ps)

查询进程名为tomcat的进程

1
$ ps -ef | grep tomcat

[!info] 选项
-e显示所有进程,环境变量
-f全格式
-h不显示标题
-l长格式
-w宽输出
-a显示终端上地所有进程,包括其他用户地进程
-r只显示正在运行地进程
-x显示没有控制终端地进程

5.解压(tar)

1
2
$tar -zxvf filename.tar.gz
tar -zcvf gccmake.tar.gz *.deb

其中zxvf含义分别如下

[!NOTE] 选项:
z:   gzip          压缩格式
x:   extract        解压
v:   verbose        详细信息
f:   file(file=archieve)  文件

6. rc.local 与 profile 区别

(1)/etc/rc.local 桌面环境启动前启用,不论有没有用户登录,相当于win下的计算机脚本,可以理解成类似windows的系统服务,一般设置开机运行程序。

(2)/etc/profile 称为登录脚本,内含许多的全局变量,作用域是全体用户.可以理解为登录后运行,一般设置环境变量.

7.查看当前目录(pwd)

1
# pwd

8. 递归删除目录(rm)

-r 是递归删除参数,表示目录及其子目录将被清空并且删除。 当删除目录包含的具有写保护的文件时用户通常是被提示的。-f 强制执行

1
$ rm -rf /home/test

9.计划任务(crontab)

查看当前已经配置的定时任务

1
crontab -l

添加和编辑定时任务。(自动调用“vi”文本编辑器,来打开“/etc/crontabs/root”文件)

1
crontab -e

定时说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
设置定时任务
* * * * * 需要执行的命令
- - - - -
| | | | |
| | | | ----- 一星期中的第几天 (0 - 6) (其中0表示星期日)
| | | ------- 月份 (1 - 12)
| | --------- 一个月中的第几天 (1 - 31)
| ----------- 一天中的第几小时 (0 - 23)
------------- 一小时中的第几分钟 (0 - 59)

* * * * * 每分钟执行一次
*/5 * * * * 每五分钟执行一次
12 */3 * * * 每过3个小时后的第12分钟执行一次
57 11 15 1,6,12 * 在1612月中的15号的1157分各执行一次
25 6 * * 1-5 工作日期间(周1到周5),每天早上625分执行一次
0 0 4,12,26 * * 每月的第41226日,晚上12点执行一次

10.关闭防火墙(service iptables)

centOS:

1
2
3
4
5
# service iptables start  //开启
# chkconfig iptables on //设置开机启动
# service iptables stop //关闭
# chkconfig iptables off  //禁止开机启动
# service iptables status //查看防火墙状态

11.查询文件(find)

1
# find / -name mysql   //所有目录下查询mysql

12.文件或目录改名或移动(mv)

mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法

mv [options] source dest
mv [options] source… directory

[!info] 参数说明

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

实例

1
2
3
4
5
6
#将文件 aaa 改名为 bbb :
mv aaa bbb
#将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
#再如将 /usr/runoob 下的所有文件和目录移到当前目录下,命令行为:
$ mv /usr/runoob/* .

13.查看 /etc/init.d 目录下所有服务的启动状态

1
for F in /etc/init.d/* ; do $F enabled && echo $F on || echo $F **disabled**; done

如下图所示:

14.修改用户密码(passwd)

1
2
3
4
5
$ sudo -i  #切换 root 用户
# passwd user1
New password:
Retype new password:
passwd: password updated successfully

15.删除用户(userdel)

1
2
sudo -i #切换root用户
userdel -r 用户名

用户的相关数据包含如下几项:

  • 用户基本信息:存储在 /etc/passwd 文件中;

  • 用户密码信息:存储在 /etc/shadow 文件中;

  • 用户群组基本信息:存储在 /etc/group 文件中;

  • 用户群组信息信息:存储在 /etc/gshadow 文件中;

  • 用户个人文件:主目录默认位于 /home/用户名,邮箱位于 /var/spool/mail/用户名。

其实,userdel 命令的作用就是从以上文件中,删除与指定用户有关的数据信息。

16.创建用户(useradd)

创建 gitlab-runner 用户,并默认创建 /home/gitlab-runner 作为工作目录,指定登录的shell.

1
2
3
4
5
sudo useradd \
--comment 'GitLab Runner 用户说明' \
--create-home \
--shell /bin/bash \
gitlab-runner

17.修改用户(usermod)

1
2
#把lamp用户加入root组
usermod -G root lamp

usermod 命令的基本格式如下:

1
usermod [选项] 用户名

选项:

1
2
3
4
5
6
7
8
9
10
-c 用户说明:修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段;
-d 主目录:修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意的是,主目录必须写绝对路径;
-e 日期:修改用户的失效曰期,格式为 "YYYY-MM-DD",即修改 /etc/shadow 文件目标用户密码信息的第 8 个字段;
-g 组名:修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID);
-u UID:修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID);
-G 组名:修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件;
-l 用户名:修改用户名称;
-L:临时锁定用户(Lock);
-U:解锁用户(Unlock),和 -L 对应;
-s shell:修改用户的登录 Shell,默认是 /bin/bash。

18.提权限命令(su)

1
2
3
4
5
sudo -i #直接运行sudo命令加-i参数
#运行结果 PWD=/root

sudo su #运行sudo命令给su命令提权,运行su命令。
#运行结果 PWD=/home/用户名(当前用户主目录)

sudo -i: 暂时切换到超级用户模式以执行超级用户权限,提示输入的密码为当前用户的密码(不是超级账户的密码)。想退回普通账户时可以执行“exit”或“logout” 。不过有时间限制,Ubuntu默认为一次时长15分钟。

su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户。没有时间限制。

19.用户组管理(groupadd)

groupadd 组名 添加用户组

-g :添加组时指定组ID

groupmod 组名 修改用户组信息

-n :修改组名

-g :修改组ID

groupdel 组名 删除组

*如果一个组下有用户,那么这个组是无法删除的。

1
2
groups # 查看当前用户所属的用户组
cat /etc/group # 查看系统中所有的组

20.链接

使用ln命令来创建链接,ln是link的缩写,其使用方法如下:

1
$ ln [options] FILE_NAME LINK_NAME

使用 ln 命令为 file 创建一个硬链接 hard_link;ln -s 命令为file创建一个软链接 symbolic_link。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 创建硬链接 hard_link
$ ln file1 hard_link

# 创建软链接 symbolic_link
$ ln -s file1 symbolic_link

# 列举当前目录下所有的链接
$ ls -li
183 -rw-r--r-- 2 david david 6 Apr 7 12:26 file1
183 -rw-r--r-- 2 david david 6 Apr 7 12:26 hard_link
459 lrwxrwxrwx 1 david david 4 Apr 7 12:39 symbolic_link -> file

$ cat hard_link
hello
$ echo "qwertyuiop" > symbolic_link
$ cat symbolic_link
qwertyuiop
$ cat file1
qwertyuiop
$ cat hard_link
qwertyuiop