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

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

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

mkdir:Make Directory(创建目录)

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

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

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

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

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

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

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

Vim:

vim 的编辑模式:在正常模式下,输入字符 i 即可进入编辑模式;
vim 的命令行模式:按下键盘Esc键,然后输入冒号 :wq ,表示保存并退出(write quit)
命令行下,输入vim 打开一个编辑器, 输入 vim Hello.java ,表示用vim 编辑器打开 Hello.java这个文件;

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

新建文件;
>vim mynode.txt

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

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 -f /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命令后面指定

边系鞋带边思考人生.
原文地址:https://www.cnblogs.com/crazytrip/p/14538626.html