前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux系统相关1

linux系统相关1

原创
作者头像
用户6841540
发布2024-07-30 09:55:30
1010
发布2024-07-30 09:55:30
举报
文章被收录于专栏:安义技术分享

linux命令行查看每个文件的空间大小

在Linux命令行中,可以使用du命令来查看文件或目录的磁盘使用情况。如果你想查看当前目录下每个文件的大小,可以使用以下命令:

代码语言:bash
复制
du -h --max-depth=1

这里的参数解释如下:

-h:以人类可读的格式显示(例如,KB、MB、GB)。

--max-depth=1:限制显示目录树的深度。设置为1表示只显示当前目录下的文件和子目录的大小。

如果你只想查看当前目录下文件的大小,并按大小排序,可以使用以下命令:

代码语言:bash
复制
du -h --max-depth=1 | sort -hr

其中,sort -hr将按人类可读的数字大小对结果进行降序排序。

如果你想查看特定文件或目录的大小,可以直接指定文件或目录名:

代码语言:bash
复制
du -h filename

替换filename为你想查看大小的文件名。

配置静态ip

1.修改对应系统的配置文件

在本服务器中,文件路径对应如下etc/netplan/01-network-manager-all.yaml

可能要root权限,命令如下:sudo su

输入账户密码即可

输入命令打开文件:sudo vim /etc/netplan/01-network-manager-all.yaml

编辑文件i

文件名看之前ipconfig -a显示ip地址的那个

注意:参数修改有空格

保存修改并退出:wq

应用修改的文件:sudo netplan apply

然后输入ifconfig -a就可以查看ip地址是否修改啦

参考博客1博客2

linux系统下文件的权限设置

代码语言:bash
复制
    #递归修改文件权限
    chmod -R 777 文件名|目录名
    # 所有用户都设置最高权限

用户组的问题:

参考链接

ncview

在linux系统下查看nc文件可以使用ncview

安装

方法1:anaconda安装(仅支持Linux系统)conda install -c eumetsat ncview

方法2:sudo apt install(仅支持Ubuntu系统,默认安装版本为ncview2.1.8)sudo apt-get install ncview

方法3:编译安装(可按照网络版本下载自己所需的ncview版本),值得注意的是netcdf4版本要求更高。可参考资料

ncview简易运行

代码语言:bash
复制
    ncview +".nc文件名/nc文件位置"

相关知识

简要说明

说明2

命令行界面的#与\$

符号

意义

代表root管理员权限

\$

代表普通用户

linux命令大全

一、登录与注销

代码语言:bash
复制
1)	sudo useradd lilei  //添加用户 (不能被立即使用,需设置密码     sudo passwd lilei)  
2)	sudo adduser lilei  //添加用户
    su root   切换为root用户
3)	login  //登录或切换用户
4)	logout //注销用户(命令行)  exit(shell-退出控制台)
5)	shutdown -h 10  //10分钟后自动关机	shutdown -c  //取消
6)	halt(root用户)  //关闭所有进程后自动关机
7)	poweroff //同上
8)	shutdown -r 10 //十分钟后自动重启
9)	init 6  //重启 (0-停机,1-单用户,2-多用户,3-完全多用户,4-图形化,5-安全模式,6-重启)
10)	reboot  //重启

二、目录与文件

注:路径要用/,不要用\

./表示当前目录,./ 一般需要和其他文件夹或者文件结合使用,指代当前目录下的东西。执行文件程序时需要./,因为该程序不在环境变量中。

目录绝对路径是以 / 开头的,/ 表示根目录。

若想要进入当前目录的下一级某个目录,可以使用 cd 跟上相对路径,这里以切换至 usr 目录为例:

cd usr/cd ./usr

代码语言:bash
复制
1)	pwd   //显示当前工作目录
2)	mkdir mydir  //创建工作目录
3)	cd mydir  //更改工作目录
cd ..     //转到上层目录
~    表示home
cd ~    跳到自己的home目录
4)	rmdir mydir //删除工作目录
5)	touch myfile  //创建文件
6)	mv myfile mydir  //移动目录或文件
7)	cp myfile myfir  //复制目录或文件(cp -r 代表如果是文件夹就会将其子目录的文件也会复制进去)
8)	rm -rf mydir  //删除目录或文件
9)	ls -l myfile  //查看文件最后被编辑时间
10)	ls -lu myfile //查看文件最后被访问时间
11)	touch -at 01011212 myfile  //修改文件最后被访问时间
12)	ls //列出所有文件和目录
13)	ls -a //查看所有文件
14)	ls -i //显示文件索引节点号
15)	ls -l //详细显示
16)	ls -m //以逗号分隔
17)	sudo apt-get install tree
18)	tree -l//以树状图列出目录内容
19)	tree -a //所有
20)	tree -i //不以阶梯状
21)	tree -s  //列出文件或目录大小
22)	tree -t  //按更改时间
23)	file -b myfile  //显示目录或文件的详细信息
24)	stat myfile  //同上

三、文件内容显示

代码语言:bash
复制
1)	cat > myfile  //创建文件并编辑内容(ctrl+D结束编辑)
2)	cat -n myfile  //查看文件
3)	chmod [u/g/o/a][+/-/=][r/w/x] myfile  //更改文件权限
    u-user,g-group,o-others,a-all  .   +-添加,--删除,=-重置   .
        r-read读(4),w-write写(2),x-execute执行(1)
4)	more myfile  //分页往后显示文件(Space空格)
5)	less myfile  //分页自由显示文件(Page Down / Page Up)
6)	head (-10) myfile  //指定显示文件前若干行(默认前10)
7)	tail (-10) myfile  //指定显示文件后若干行(默认后10)

四、文件内容处理

代码语言:bash
复制
1)	sort myfile  //对文件内容进行排序
2)	sort -r myfile  //逆序
3)	uniq myfile  //检查文件中的重复内容
4)	grep (-c)‘a’ myfile  //在文件中查找指定内容 (显示行号)
5)	diff myfile01 myfile02  //对不同文件进行比较
6)	diff3 myfile01 myfile02 myfile03  //三个文件
7)	sdiff myfile01 myfile02  //合并
8)	cmp myfile01 myfile02  //通过字节对不同文件进行比较
9)	comm myfile01 myfile02  //对有序文件进行比较
10)	cut -b(-c)(-d) 2(3) myfile  //对文件内容进行剪切
11)	paste myfile02 myfile01 //对文件内容进行粘贴 02-)01
12)	wc (-参数) myfile  //对文件内容进行统计 (c-字符数,w-单词数,l-行数)

五、压缩

代码语言:bash
复制
1)	zip myfile.zip myfile  //压缩
2)	zip -d myfile.zip myfile  //添加
3)	zip -m myfile.zip myfile  //删除
4)	unzip -o myfile.zip  //解压(覆盖)
5)	unzip -n myfile.zip  //解压(不覆盖)
6)	zipinfo myfile.zip  //列出压缩文件信息

六、获取帮助

代码语言:bash
复制
1)	man ls  //获取帮助
2)	man -k ls  //不清楚完整名字
3)	whatis ls  //获取帮助
4)	help cd  / cd –help  //获取帮助 -d(简短描述) -s(用法简介)
5)	info who  //获取帮助

七、其他命令

代码语言:bash
复制
1)	clear  //清除屏幕信息
2)	echo xx  //显示文本  x=0  echo $x . echo -e \$x . echo $(pwd)
3)	date  //显示日期和时间(+%y 年  +%m 月  +%d日)
4)	cal  //显示当前日期  cal -y
5)	ps  //查看当前进程  -A(所有)  U  lilei (用户lilei)
6)	kill -9 2315  //终止某一进程  
7)	ps -ef | grep Jincheng
8)	pkill Jincheng
9)	killall Jincheng
10)	last  //显示最近登录系统的用户信息-6列
11)	history (10) //显示历史指令-默认1000行
    w    //查看用户,当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况
    web  //查看当前登陆到系统的用户及其他信息
    top  //查看cpu使用情况
12)	sudo adduser lilei sudo  //给普通用户赋予root权限
13)	sudo usermod -G sudo lilei  //同上
14)	alias l=’ls’  //定义命令别名
15)	unalias l  //删除别名
16)	alias  //列出别名
17) free  //查看系统运行内存(https://blog.csdn.net/weixin_42832313/article/details/96484017),推荐free -g,以GB为单位显示内存
```bash

八、查看修改文件内容

代码语言:bash
复制
# STEP 1: 打开文件

`vi /home/test/method.R`
 ##打开路径“/home/test/”的名称为“method”类型为“.R”的文件,按PgUp或PgDn或箭头查看

# STEP 2: 输入“i”,进入“插入”状态,然后利用方向键定位需要修改的位置,对文档进行修改

# STEP 3: 修改完成之后,按“ESC”退出“插入”状态,然后输入冒号,英文状态的:,然后输入小写的“wq”保存并退出,输入小写的“q”会直接退出不进行修改保存。

九、命令行终端快速退出

有三种方式

1.点击❌号

2.输入exit

3.ctrl+d

十、source命令

Linux Source命令及脚本的执行方式解析

当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如\:source /etc/profile

对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下。

source命令:

source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。

功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

用法:

source filename 或 . filename

source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。

source filename 与 sh filename 及./filename执行脚本的区别在那里呢?

1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。

2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

举例说明:

1.新建一个test.sh脚本,内容为\:A=1

2.然后使其可执行chmod +x test.sh

3.运行sh test.sh后,echo \$A,显示为空,因为A=1并未传回给当前shell

4.运行./test.sh后,也是一样的效果

5.运行source test.sh 或者 . test.sh,然后echo \$A,则会显示1,说明A=1的变量在当前shell中

source激活环境

source activate env_name激活环境与conda activate env_name不同

source activate 可以在shell脚本开头处激活虚拟环境,而用conda activate则提示“CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate.”错误。这点很重要,因为经常需要在脚本中先激活特定的环境,然后在特定环境中执行python脚本。观察下列实例,假设test.sh的代码如下:

代码语言:bash
复制
#! /bin/bash
source activate python3.6

命令sh -c “source activate python3.6” 不会对当前shell环境产生影响,因为sh会开启一个子shell,然后在子shell中激活了环境python3.6,然后结束命令退出子shell。

命令sh -c "conda activate python3.6"

相当于在shell脚本开始处,激活环境,可能会报错,解决办法如下面这篇文章

解决方案文章

linux查看进程运行时间

通常我们可能使用top命令查看linux系统下进程的详细信息,但注意在time+下,时间和进程运行的时间明显对不上。

原因

这个time+其实表示的不是进程运行的时间,而是占用cpu的时间。而且这个时间格式从右到左分别是百分之一秒,秒,分钟。所以参考意义不大

解决

ps -p (PID进程号) -o etime解决,比如我想查看3892077进程的运行时间,命令行输入ps -p 3892077 -o etime即可。

上面的结果表示该进程运行了22小时43分55秒,如果结果是13-13:13:26第一个13表示13天。

参考博文1

参考博文2

ps.查看有关进程,例如查看python有关进程ps -ef |grep python,其他比如利用进程名pid查看具体进程也可以利用这个命令,将里面的python换成你对应的pid就行。ps -ef |grep 3892077

linux parallel 命令,Linux 并行处理神器

一般在控制台的命令都是单线程执行,单线程速度太慢了,特别是对于一些嵌套循环来说。使用parallel可以并行计算。

安装

ubuntu系统

sudo apt install parallel

比如下面这个:

代码语言:bash
复制
cd /data/remap/remap\_t2m

for ((yr=1961;yr<=2022;yr++))

do 

echo  ${yr}

cdo sellonlatbox,10,35,-35,-11 ERA5LAND_${yr}\_tas5\_remap.nc /data/PCR-Yellow/era5/M01/ERA5LAND_${yr}\_tas5\_M01\_remap.nc

done

使用parallel改进:

代码语言:bash
复制
#!/bin/bash

cd /data/remap/remap\_t2m

# 定义函数,用于处理每个年份的任务

process\_year() {

yr=$1

echo ${yr}

cdo sellonlatbox,10,34,74,82 ERA5LAND_${yr}_tas5_remap.nc /data/remap/Mask27_39/remap_t2m/M28/ERA5LAND_${yr}_tas5_M28_remap.nc

}

export -f process\_year

# 使用parallel命令并行执行任务

parallel process\_year ::: {1962..2022}
注意:

一般来说,GNU Parallel 会延迟输出,直到一组命令执行完成。使用 --ungroup,可立刻打印输出已完成部分。(比如echo这种输出)

jobs可以限制并发数,–jobs 0 竟可能多的并行

代码语言:bash
复制
# 并行为1,理论上就是5+4+3+2+1 =15 s

time parallel --jobs 1 sleep {}';' echo {} done ::: 5 4 3 1 2

# 并行为0,取决于最慢的那个sleep

time parallel --jobs 0 sleep {}';' echo {} done ::: 5 4 3 1 2

如何查看自己电脑的核心数,输入lscpu,其中的Core(s) per socket就是

参考博客1

参考博客2

colab

介绍

谷歌提供的一个平台,可以运行python代码(LINUX环境),之前弄过在线AI绘画也是在这个平台,免费提供的算力还是挺强的,就是时长不太够。

chromedriver的使用

该平台里面也是有python(我查看了一下默认版本为3.10)的。

安装chrome

相关命令:

获取.deb安装包(针对的是colab的unbuntun系统)

代码语言:bash
复制
wget [https://dl.google.com/linux/direct/google-chrome-stable\_current\_amd64.deb](https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb)

使用指令

代码语言:bash
复制
sudo dpkg -i google-chrome-stable\_current\_amd64.deb

假如安装失败:可以使用:sudo apt-get install -f (用户的系统上有某个package不满足依赖条件,这个命令就会自动修复,安装程序包所依赖的包。)

终端输入google-chrome启动chrome

查看谷歌浏览器版本

对应命令

代码语言:bash
复制
google-chrome --version
在colab代码块里,!+命令相当于在命令行执行命令。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux命令行查看每个文件的空间大小
  • 配置静态ip
  • 1.修改对应系统的配置文件
    • 可能要root权限,命令如下:sudo su
      • 注意:参数修改有空格
  • linux系统下文件的权限设置
  • ncview
    • 安装
      • 相关知识
      • 命令行界面的#与\$
      • linux命令大全
        • 一、登录与注销
          • 二、目录与文件
            • 三、文件内容显示
              • 四、文件内容处理
                • 五、压缩
                  • 六、获取帮助
                    • 七、其他命令
                      • 八、查看修改文件内容
                        • 九、命令行终端快速退出
                          • 1.点击❌号
                          • 2.输入exit
                          • 3.ctrl+d
                        • 十、source命令
                          • 举例说明:
                          • source激活环境
                      • linux查看进程运行时间
                        • 原因
                          • 解决
                          • linux parallel 命令,Linux 并行处理神器
                            • 安装
                            • colab
                              • 介绍
                                • chromedriver的使用
                                  • 安装chrome
                                  • 查看谷歌浏览器版本
                              相关产品与服务
                              GPU 云服务器
                              GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档