文章目录
1. linux 添加、删除用户
1.1 添加用户
CentOs下
:useradd与adduser是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码
Ubuntu下
:
1、useradd
该命令useradd只会添加一个用户,没有创建它的主目录,而且不会自动选择shell版本,除了添加一个新用户之外什么都没有。这个用户甚至不能登录,因为没有密码,需要使用passwd
命令修改密码。
命令: useradd -m 用户名
—> 设置密码 passwd 用户名
或者 useradd -m -s 用户名
—> 设置密码 passwd 用户名
执行以下命令创建普通用户。
groupadd username
useradd -g username -d /home/username username
# 执行以下命令设置密码。
passwd username
useradd 的参数如下:
-c 备注 加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中
-d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权
-e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow
-f 缓冲天数。限定密码过期后多少天,将该用户帐号停用
-g 主要组。设置用户所属的主要组
-G 次要组。设置用户所属的次要组,可设置多组
-M 强制不创建用户主文件夹
-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下
-p 密码。输入该帐号的密码
-s shell。用户登录所使用的shell
-u uid。指定帐号的标志符user id,简称uid
2、adduser
在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell
版本,会在创建时会提示输入密码,更加友好。
命令: adduser 用户名
这个命令(adduser)会:
1.建立一个新目录作为家目录
2.建立同名新组
3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry之类)
4.从/etc/SKEL目录下拷贝文件到家目录,完成初始化
5.建立新用户的密码
6.如果其存在的话,还会执行一个脚本。
- 添加 root 用户。
sudo passwd root
1.2 删除用户
userdel
只能删除用户,并不会删除相关的目录文件。
userdel -r
可以删除用户及相关目录
2. scp 命令使用
本端:128.5.250.144
远端:128.5.250.154
2.1 远端拷到本端
scp root@128.5.250.154:/lib64/libcce_aicore.so ./
2.2 本端拷到远端
scp graph.config root@128.5.250.144:/home/
拷贝命令: scp
要拷贝的文件:graph.config
文件拷贝到的地址:root@128.5.250.144:/home/
3. unzip 和 zip
3.1 解压到文件夹
unzip -d /test/ test.zip
3.2 压缩文件夹
zip -q -r test.zip /folder
压缩命令参数: zip -q -r
压缩后的文件名字: test.zip
要压缩的文件夹:/folder
3.3 不解压查看文件内容
unzip -v test.zip
4. tar 解压和压缩
4.1 解压到某个文件夹 test
tar -zxvf test.tar.gz -C /test
4.2 解压 tar包
tar -xvf file.tar //解压 tar包
4.3 压缩文件夹到为test.tar
tar -cvf test.tar folderA/ folderB/
4.4 压缩文件夹到为test.tar
tar -zcvf test.tgz folderA/
4.4 不解压查看文件内容
1. file.tar.gz
gzip -dc file.tar.gz | tar tvf -
2. file.tar.bz2
bzip2 -dc file.tar.bz2 |tar tvf -
3. file.tar
tar -tvf file.tar
01-.tar格式
解包:$ tar -xvf FileName.tar
打包:$ tar -cvf FileName.tar DirName(注:tar是打包,不是压缩!)
02-.gz格式
解压1:$ gunzip FileName.gz
解压2:$ gzip -d FileName.gz
压 缩:$ gzip FileName
03-.tar.gz格式
解压:$ tar -zxvf FileName.tar.gz
压缩:$ tar -zcvf FileName.tar.gz DirName
04-.bz2格式
解压1:$ bzip2 -d FileName.bz2
解压2:$ bunzip2 FileName.bz2
压 缩:]$ bzip2 -z FileName
05-.tar.bz2格式
解压:$ tar -jxvf FileName.tar.bz2
压缩:$ tar -jcvf FileName.tar.bz2 DirName
06-.bz格式
解压1:$ bzip2 -d FileName.bz
解压2:$ bunzip2 FileName.bz
07-.tar.bz格式
解压:$ tar -jxvf FileName.tar.bz
08-.Z格式
解压:$ uncompress FileName.Z
压缩:$ compress FileName
09-.tar.Z格式
解压:$ tar -Zxvf FileName.tar.Z
压缩:$ tar -Zcvf FileName.tar.Z DirName
10-.tgz格式
解压:$ tar -zxvf FileName.tgz
11-.tar.tgz格式
解压:$ tar -zxvf FileName.tar.tgz
压缩:$ tar -zcvf FileName.tar.tgz FileName
12-.zip格式
解压:$ unzip FileName.zip
压缩:$ zip FileName.zip DirName
13-.lha格式
解压:$ lha -e FileName.lha
压缩:$ lha -a FileName.lha FileName
14-.rar格式
解压:$ rar -a FileName.rar
压缩:$ rar -e FileName.rar
rar请到:下载!
解压后请将rar拷贝到/usr/bin目录
(其他由$PATH环境变量指定的目录也行):$ cp rar_static /usr/bin/rar
5. 当前目录的文件大小
5.1 ll
ll -lh
5.2 du
du -h
6. 给文件夹赋予执行权限
6.1 chmod -R 755 ./test
7. 修改系统时间
7.1 date -s "2020-02-02 22:22:22"
8. 查看程序的情况
top -p pid
pid是要替换成一个id数字的。
ps -aux | grep process_name
cat /proc/pid/status
这里会打印出当前进程详细的情况,其中,内存是 VmRSS。
9. 查看系统版本信息
9.1 uname -a
root@xxxxxxx:~# uname -a
Linux xxxxxx 4.4.0-93.116+ #1 SMP Fri Jan 25 18:53:31 CST 2019 x86_64 x86_64 x86_64 GNU/Linux
9.2 cat /etc/issue
root@xxxxxxxxx:~# cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
9.3 lsb_release -a
root@xxxxxxxxx:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
10. linux 如何反编译.so 文件:
root@mao-G2500:/usr/local/sbin# nm -D /usr/local/HiAI/driver/lib64/libdrvdsmi_host.so |grep rdrvDeviceGetPcieInfoFromBdf
root@mao-G2500:/usr/local/sbin# nm -D /usr/local/HiAI/driver/lib64/libdrvdsmi_host.so |grep drvDeviceGetPcieInfoFromBdf
U drvDeviceGetPcieInfoFromBdf
11. Ubuntu 修改主机名的方法
11.1 查询主机名
root@li-V5:~# hostname
li-V5
root@li-V5:~# uname -a
Linux li-V5 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
11.2 修改主机名
vim /etc/hostname
reboot
12. ps aux 输出 参数 含义 详解
12.1 输出含义
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
12.2 查询进程号并杀死进程
ps -aux | grep AtlasEdge*
kill -9 pid
12.3 top进程含义和显示不全
top -c -bw 500
ps -aux |grep xxx
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14273 root 20 0 544476 23100 8812 S 0.0 0.3 0:02.18 python3 /postern_main.py
依次对应:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
top -c -bw 500
top -c -bw 500|grep ...
13. 常见网络维护命令
fconfig eth0 up让网口起来
ifconfig -a 查看所有网口
ethtool eth0 查看eth0网口信息
ethtool -c eth0 查看网口收发包参数设置
ethtool -k eth0 查看网口设置
ethtool -s enp51s0f0 speed 25000 autoneg off 设置enp51s0f0网口 自协商off
# 配置网路生效
sudo ip addr flush eth0
sudo systemctl restart networking.service
ip route 查看当前网络信息
11. 查看是哪个系统
cat /etc/os-release
草稿:
T = { L P ∗ N ≤ L ( P − 1 ) ∗ ( N + 1 ) + X P * N>L T= \begin{cases} L & P*N \leq L \\ (P-1)*(N+1)+X& \text{P * N>L} \end{cases} T={L(P−1)∗(N+1)+XP∗N≤LP * N>L