Liunx常用指令备查

 

1. 用户管理

  • 用户管理:Linux 的用户需要至少要属于一个组;

  添加用户: useradd [选项] 用户名 (当创建用户成功后,会自动的创建和用户同名的home目录);
  创建用户时指定组: useradd -g 组名 用户名 ;
  给用户修改密码:passwd 用户名 ;
  删除用户:userdel 用户名 ; 删除用户及用户主目录:userdel -r 用户名 ;
  查询用户:id 用户名; 将打印用户id,用户所在组id,及组名称;
  切换用户:su - 用户名 ; 输入 exit 回车,返回到原先用户;

 

  • 用户组:类似角色,用于权限控制;

  创建组:groupadd 组名 ;
  删除组:groupdel 组名 ;
  创建用户时指定组: useradd -g 组名 用户名 ;
  修改用户组: usermod -g 新组名 用户名 ;
  文件说明:
    /etc/passwd 用户(user)的配置文件,记录用户的各种信息的文件;
    /etc/shadow 口令的配置文件,密文;
    /etc/group 组(group)的配置文件,记录 Linux 包含的组的信息;

  • [新建用户]  
-># id root
    uid=0(root) gid=0(root) groups=0(root)
-># groupadd powerjob
-># useradd -g powerjob powerjob
-># id powerjob
    uid=1000(powerjob) gid=1000(powerjob) groups=1000(powerjob)
-># passwd powerjob
    Changing password for user powerjob.
    New password: 
    BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
    Retype new password: 
    passwd: all authentication tokens updated successfully.
->#     
    

  [切换用户]

-># su
...直接输入root密码然后回车即可;

...切换回普通账号
-># su powerjob

...查看当前登录用户;
-># id

 

2. 重启操作

reboot :表示重启系统;
logout :用户注销(释放系统资源);

 

3. 文件操作

pwd: print work directory 打印当前目录 显示出当前工作目录的绝对路径;

mkdir:Make Directory(创建目录)   mkdir -p : -parents 即一次可以建立多个目录。

tar -zxvf apache-maven-3.8.2-bin.tar.gz -C /usr/local/maven/    加压压缩包到指定文件夹

ll: 显示当前目录的内容(包括文件夹和文件);

ls : ls 也是显示当前目录的所有内容,只不过显示的信息没有ll详细;

cd : 进入目录;“..”代表上一级目录、“~”代表HOME目录、“-”代表前一目录

./ : 执行文件,比如安装 vmware-install.pl 时,在终端使用的命名为: ./vmware-install.pl 

 

复制文件命令cp: 以下语句将server目录下的所有文件复制到新目录(新目录不存在则会自动创建),源必须是目录;
> cp [原文件目录] [目标目录]
cp -rf /home/powerjob/server/ /home/powerjob/server_bak/20210122_01_bak/ 

(-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。)

(-f覆盖已经存在的目标文件而不给出提示。)

拷贝到当前目录(一般用于备份文件)

# 拷贝文件 到当前目录 ./ 表示当前目录
cp nginx.conf ./nginx.conf.bak

#把 my_file_dir 这个文件夹重命名为 my_copy_file_dir 并复制到当前目录
# -r 表示递归,是对多个文件的操作
cp -r my_file_dir/ ./my_copy_file_dir/ 

 

 

 

修改文件名mv
> mv [原文件] [新文件名]

移动文件mv
> mv [原文件或文件目录] [目标目录]

 

4. 文件编辑

Vim:

vim 的编辑模式:在正常模式下,输入字符 i 即可进入编辑模式;
vim 的命令行模式:按下键盘Esc键,然后输入冒号 :wq ,表示保存并退出(write quit)

vim 的正常模式下,输入`/` 之后可以根据关键字搜索;回车然后才能用n和N进行下一个与上一个的位置定位;


输入vim 打开一个编辑器, 输入 vim Hello.java ,表示用vim 编辑器打开 Hello.java这个文件;

 

cat指令:查看文件内容,以只读方式打开文件;

cat more : more命令从前向后读取文件,因此在启动时就加载整个文件。

cat /etc/profile -n | more   # 分页显示 
# -n 显示行号
# 空格 = 下一页
# 回车 = 下一行
# Ctrl+F = 下一屏(forward)
# Ctrl+B = 上一屏(backward)

cat /etc/profile -n | less   # 分页显示
# -n 显示行号
# 空格 = 下一页
# 回车 = 下一行
# b = 上一页
# f = 下一页
# q = 退出
 

 

 

Linux日志中查找关键字信息及其前后的信息

说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

# 根据关键字查看日志
cat hrun.log | grep "新增用户"
# 根据关键字查看后10行日志
cat hrun.log | grep "新增用户" -A 10

# 根据关键字查看前10行日志
cat hrun.log | grep "新增用户" -B 10


# 根据关键字查看前后10行日志,并显示出行号
cat -n hrun.log | grep "新增用户" -C 10


# 查看日志前 50 行
cat hrun.log | head -n 50


# 查看日志后 50 行,并显示出行号
cat -n hrun.log | tail -n 50

 

 

 

 

新建文件;
>vim mynode.txt

 

新建shell脚本;
>vim myshell.sh
>---在里面编辑脚本内容
>chmod 775 ./myshell.sh #使脚本具有执行权限
>./myshell.sh #当前目录下执行脚本
>/data/myshell/myshelltest01.sh #全路径执行脚本

 

5. 其他系统操作

netstat -nlp |grep 9181 查看某端口占用的线程的pid

ps -ef|grep xxx.jar 查看当前运行的jar包程序进程号
ps -ef|grep java|grep -v grep

kill -9 [PID]         (强制停止进程)

clear   [清屏,实际上是翻上一页]

nohup.out的查看方式与方法
-> tail -f nohup.out (监控日志打印)
-> tail -100f /home/powerjob/server/nohup.out (滚动查看日志)
-> tail -1000 nohup.out (查看最后1000行日志文本)

清空nohup.out的方法有如下:

-> cp /dev/null nohup.out

-> echo "">server.log

-> "">server.log

不停应用清空日志文件; (有时候上面的语句不好用,看下面的补充内容;)

cat /dev/null > /var/log/yum.log

 

补充:

项目中,使用上面的语句清空日志文件后,文件大小变为0,但是,系统再产生日志后,文件会立即恢复原来的大小,感觉没有清理到;

经过一顿网络搜索后,通过以下方式可以解决;

即,启动应用的命令指定日志文件的时候 不能用">",换成“>>",再启动程序,就可以用> nohup.out 或者cat /dev/null > nohup.out等各种方式清空了

例如:

nohup java -jar $HOME/$JAR_NAME  >> $HOME/server.log 2>&1 &

 

 

 

查看某端口占用的线程的pid
netstat -nlp |grep 7700
tcp6 0 0 :::7700 :::* LISTEN 21487/java

ps 2187 查看进程详细信息
kill -9 [PID] (强制停止进程)

查看Java进程:
ps -ef|grep java|grep -v grep
ps -ef|grep com.powerjob.myworker.demo-1.0.jar |grep -v grep
查看Nginx进程
ps -ef|grep nginx

 

-> cd /home/powerjob/server
---后台启动jar, 会自动生成一个nohup.out文件,控制台日志将写到这个文件里面
-> nohup java -jar powerjob-server-3.4.3.jar &
--后台启动jar, 指定生效配置,日志输出到server.log文件;
-> nohup java -jar powerjob-server-3.4.5.jar --spring.profiles.active=product > server.log 2>&1 &

java -Doms.akka.port=10087 -jar powerjob-server-3.4.3.jar --server.port=7701 --spring.profiles.active=daily
--环境变量参数在jar之前添加-D打头, 配置文件上的参数在jar命令后面指定

 


 

Nginxi 常用指令:

指定 nginx 使用哪个配置文件并启动
nginx -c /etc/nginx/nginx.conf

判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
或者直接 nginx -t

查看进程
ps -ef|grep nginx


重启nginx
方式1: nginx -s reload

方式2: ---实测不可用
ps -ef|grep nginx # 找到master的PID
kill -HUP [PID]
ps -ef|grep nginx

方式3:手动将所有进程杀掉再启动
ps -ef|grep nginx
kill -9 [master-PID]
kill -9 [worker-PID]
nginx -c /etc/nginx/nginx.conf

 

查看内存使用情况

free -m  # 以M为单位显示内存使用情况
free -g  # 以G为单位显示内存使用情况

 

查看Linux版本及内核

uname -r  # 3.10.0-862.el7.x86_64  3=内核版本,10=重大修订;0-微小修订

cat /etc/rehat-release # 查看Linux系统版本

 

posted @ 2021-03-15 16:55  穷苦书生  阅读(50)  评论(0编辑  收藏  举报