自己装个linux系统,比如ubuntu,然后学一下软件源码编译(无管理员权限下),再学一下新建用户与文件权限设置,所有用户密码规则配置,弄完这些相信你会进步不少的。PS:如果我发现有意思的命令,也会在这个回答里持续更新的~
最近更新2022.11.7
附常用的命令
1.CPU信息查看
#实时查看cpu频率
watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
#查看cpu线程数(逻辑核数)
lscpu
或者
getconf _NPROCESSORS_ONLN # getconf -a 可以查看系统所有信息
或者
egrep "^processor" /proc/cpuinfo
egrep "^processor" /proc/cpuinfo | wc -l # 直接查看数量
#查看cpu型号
cat /proc/cpuinfo | grep -i "model name" | uniq
#查看cpu温度
paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $&#39;\t&#39; -t | sed &#39;s/\(.\)..$/.\1C/&#39;
其他方法如 lm_sensors 的方法不赘述参考:
在Ubuntu 18.04 下使用命令行查看英伟达GPU温度、CPU温度
2.查看系统分区、文件夹及其大小
#系统分区信息
df -h
#查看文件夹大小
du -h --max-depth=1
或者
du -h -d 1
上面的命令如果想具体到比如用MB或者GB 表示的时候,将 -h 替换成 --block-size=1M , --block-size=1G即可。3.清空回收站文件夹
rm -rf $HOME/.local/share/Trash/files/*4.实时查看内存
free -m -h 或者
watch -n 5 free -m -h
补充:watch 与 管道符号一起用,主要是加引号 &#39; &#39;
watch -n 5 &#39;free -m -h | grep -i swap&#39;5.手动释放内存(上条命令中显示的 buff/cache)
sudo sh -c &#39;echo 1 > /proc/sys/vm/drop_caches&#39;
sudo sh -c &#39;echo 2 > /proc/sys/vm/drop_caches&#39;
sudo sh -c &#39;echo 3 > /proc/sys/vm/drop_caches&#39;6.挂载与读取硬盘,具体参考博文
a.查找硬盘
sudo fdisk -l
b.新建文件夹
cd $HOME
mkdir tempdir
c.查看原硬盘格式
df -T
d.挂载硬盘
mount -t ext4 /dev/sdb1 $HOME/data1
e.查看新挂载的硬盘
df -h7.mkdir 创建多级文件夹
mkdir -p aa/bb/cc/dd/ee
或者
mkdir -pv aa/bb/cc/dd/ee多加一个v意思是在控制端会输出你创建的文件夹的路径,具体可以参考博文1,博文2 。
-p, --parents no error if existing, make parent directories as needed
-v, --verbose print a message for each created directory
8.查看GLIBC版本
ldd --version
9.查看系统版本信息
lsb_release -a
#查看内核信息
uname -a
# 查看 os 信息
cat /etc/os-release10.查看显卡信息
lspci | grep -i vga
#更详细的查看厂商的信息
lspci -vnn | grep VGA -A 1211.查看当前目录的绝对路径
pwd参考
12.用户信息查看
whoami ## 查看当前用户名
hostname ##当前机器名称,修改位置 /etc/hostname
pwd #当前路径
last ## 查看用户登录记录
lastlog ##最近所有用户登录记录参考
13.查看输入命令的历史记录
cat ~/.bash_history ## 常用
#或者
history参考
14.查看IP地址
ifconfig ## windows 下为 ipconfig /all
##这个命令如果没有的话,安装命令为
sudo apt-get install net-tools查看网关,参考
Linux下查看网关方法:
1、route -n
2、ip route show
3、traceroute www.prudentwoo.com -s 100 【第一行就是自己的网关】
4、netstat -r
5、more /etc/network/interfaces 【Debian/Ubuntu Linux】
6、more /etc/sysconfig/network-scripts/ifcfg-eth0 【Red Hat Linux】15. ubuntu 创建宽带连接
#通常通过 /usr/share/application 目录下的network应该就可以创建宽带连接
#但是也可以通过命令行创建
sudo pppoeconf
#然后默认设置,填写好账户和密码即可联网,注意设置断网自动重新连接
#如果掉了,也可以手动连接
sudo pon dsl-provider # 启动
poff # 关闭个人建议还是使用/usr/share/application 目录下的network创建宽带连接,这样创建的连接相对比较稳定,用命令创建的不是很稳定
16.查看正在工作的网卡
#可以先用
ifconfig
#查看有哪些网卡
#再用
sudo mii-tool eth0
#查看哪个网卡正在工作17.内存,硬盘,主板型号查询
sudo dmidecode -t memory // 内存信息 更具体的 sudo dmidecode -t memory | grep -i size
sudo hdparm -i /dev/sda // 硬盘型号 sudo hdparm -i /dev/sda | grep -i model
sudo dmidecode | more // 主板型号 更具体的可以用 sudo dmidecode | grep -i &#34;product name&#34;
####其他
##读取速度
hdparm -Tt /dev/sda1 更加细节的一些查询内存的命令,参考
内存:
卡槽数量:sudo dmidecode -t memory |grep &#34;Number Of Devices&#34; |awk &#39;{print $NF}&#39; 或 sudo dmidecode -t memory |grep &#34;Associated Memory Slots&#34; |awk &#39;{print $NF}&#39;
内存数量:sudo dmidecode -t memory |grep -A16 &#34;Memory Device$&#34; |grep &#39;Size:.*MB&#39; |wc -l
内存型号:
内存支持类型:sudo dmidecode -t memory |grep -A16 &#34;Memory Device$&#34; |grep &#34;Type:&#34;
每个内存频率:sudo dmidecode -t memory |grep -A16 &#34;Memory Device$&#34; |grep &#34;Speed:&#34;
每个内存大小:sudo dmidecode -t memory |grep -A16 &#34;Memory Device$&#34; |grep &#34;Size:&#34;
其他:
(1)CPU:
型号:grep &#34;model name&#34; /proc/cpuinfo |awk -F &#39;:&#39; &#39;{print $NF}&#39;
数量:lscpu |grep &#34;CPU socket&#34; |awk &#39;{print $NF}&#39; 或 lscpu |grep &#34;Socket&#34; |awk &#39;{print $NF}&#39;
每个CPU的核数:lscpu |grep &#34;Core(s) per socket&#34; |awk &#39;{print $NF}&#39;
(2)硬盘:
硬盘数量、大小:sudo fdisk -l |grep &#34;Disk /dev/sd&#34;
硬盘型号:sudo hdparm -i /dev/sda |grep &#34;Model&#34;18.三种方法重启网络连接
第一种方法: networking
sudo service networking restart
或者
/etc/init.d/networking restart
第二种方法:ifdown up
ifdown eth0
ifup eth0
第三种方法:ifconfig
ifconfig eth0 down
ifconfig eth0 up19.查看硬盘实时读写速度
sudo iotop
# 如果没有这个命令,用apt 安装一下即可
sudo apt-get install iotop20.查看已经安装的软件包
apt list --installed | grep -i 软件(包)名
#
dpkg -l | grep -i 软件(包)名
#精准查询
dpkg -L 软件包名21.查看文件及文件夹数量
# 查看当前目录下的文件数量(不包含子目录中的文件)
ls -l | grep &#34;^-&#34; | wc -l
# 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lR | grep &#34;^-&#34; | wc -l
# 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R
ls -l | grep &#34;^d&#34; | wc -l
#如果是指定文件目录的,只需要在ls -l 后面加上目录加即可
ls -l traget_dir | grep &#34;^-&#34; | wc -l参考:Linux统计文件夹、文件数量的命令 - dttdx - 博客园
22. cp命令进阶
#向多个目录拷贝同一个文件,
echo /target_dir1 /target_dir2 /target_dir3 | xargs -n 1 cp -v /source_dir/source_file
#多个文件向同一个目录下拷贝,可以使用相对路径
cp /dir1/source_file1 /dir2/source_file2 /dir3/source_file3 /target_dir
#或者写成
cp {/dir1/source_file1,/dir2/source_file2 /dir3/source_file3} /target_dir
#如果dir1 和 dir2相同,那么可以进一步写成
cp /dir/{source_file1,source_file2,source_file3} /target_dir
#如果source_file本身名字上有规律,如连续的自然数等,可以使用 [],如
cp /dir/source_file[1-3] /target_dir
#如果不连续的话,比如只想cp file1 和file3
cp /dir/source_file[1,3] /target_dir
#最后向多个目录,复制多个文件
echo /target_dir1 /target_dir2 /target_dir3 | xargs -n 1 cp -v /source_dir/source_file[1-3]
#保留软链接,否则会把软链接改成文件,占用多余的空间
cp -d source_dir target_dir
#拷贝文件夹和目录结构, -r/-R 递归创建
cp -r = cp -R
#加上 --parents 时候会自动检测, target dir 是否存在,不存在报错,存在则与 不加--parents效果一致,
#其实这个就是用来检测目标目录是否存在用的
cp -r --parents source_dir target_dir
#只复制新文件,source_dir中新添加的或者新修改的文件才复制,旧文件不复制
cp -u source_dir target_dir
加参数 -p, 可以保持源文件的时间属性。否则新文件为当前时间
cp -rfp /data/upload/* /data/backup/Linux技巧:cp命令自动创建不存在的目录和只复制修改的文件
23.查看进程所在绝对路径
#方法一
top 命令后 按 c键 查看,但是要求的是执行软件的时候,使用的是绝对路径
#方法二
ll /proc/pid
#方法三(与方法二类似,用ps打印pid,不是通过top命令获取pid)
ps -ef | grep xxx
ll /proc/xxx的pid参考博文:
几种查看Linux进程路径的方法_lawenliu的专栏-CSDN博客_linux查看进程路径
linux 查看进程启动路径 - 糊涂执行 - 博客园
24.显卡限制功耗上限
sudo nvidia-smi -pl 200 # 功耗限制在200w
#如果是多块gpu 加上 -i 指定哪几块,如
sudo nvidia-smi -i 0,1 -pl 200 # 0号和1号显卡的功率限制到200w
#显卡温度查询,参考cpu温度查询给出的链接
nvidia-smi -q -i 0,1 -d TEMPERATURE25.快速返回$HOME目录与返回上一次目录
#通常办法是
cd ~ / cd $HOME
#其实直接输入cd 回车就回到了主目录
cd
#万一要是手误打错了,直接返回主目录,想要回去的话
cd -26.查看GCC支持的C语言版本
gcc -dM -E - < /dev/null | grep -i __STDC_27.显示远程物理机上物理键盘按键
sudo showkey参考
28.查看带宽
lshw -C network29.创建空白文件
touch Filename执行touch 命令前如果有相同的文件,不会用一个新的空白文件覆盖原有文件,相当于 touch不执行了
30.查找动态库的位置
ldconfig -p | grep your_ld_name例如:
ldconfig -p | grep libc.so.6
31.以二进制查看文件
参考
xxd yourfile32.查看开关机、重启时间可用的6个命令
top 最上面一行就有
last reboot
who -b / who -r (运行级别)
uptime
w
date -d &#34;`cut -f1 -d. /proc/uptime` seconds ago&#34;参考:查看linux系统重启时间历史记录_mygodhome的专栏-CSDN博客_linux查看系统重启时间
33.查看硬盘UUID
sudo blkid
ls -l /dev/disk/by-uuid/
其他附加命令:
sudo blkid /dev/sda
ls -l /dev/disk/by-path/
ls -l /dev/disk/by-id/参考:1,2
34.利用rm命令递归删除某一类文件
find . -name &#34;*.o&#34; | xargs rm -f利用rm 命令 和 xargs命令,递归删除当前文件夹及子文件夹下的所有.o文件
35.查看系统定义的所有环境变量
envwindows可以在cmd中输入set命令查看
36.查看硬盘是固态还是机械硬盘
cat /sys/block/sda/queue/rotational一块硬盘一般就是sda,两块硬盘,第一块是sda,第二块sdb,以此类推。
显示的结果是0,就是固态盘,显示是1,就是机械盘。
37. 用户进程号(PID)相关民命令
查看PID号上限:
cat /proc/sys/kernel/pid_max
top 命令查看当前所有PID号:
top -bcn 1
查看指定用户民的进程号:
top -u usrname参考连接:
1.为什么Linux的进程pid编号极限最大值( process pid max)是131070? - 知乎
2.top查看全部进程_shy_snow的博客-CSDN博客_top查看进程
<hr/>其他Linux命令:
Ubuntu 系统下创建用户,组,及用户,组权限
Ubuntu普通用以超级管理员权限执行的命令 |