linux

linux换源

sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list

linux下多版本设置

#设置多版本优先级
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 200
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 300
#打印结果:
update-alternatives: using /usr/bin/python3.8 to provide /usr/bin/python (python) in auto mode
root@6dd5bcd1cc5d:/var/lib/apt/lists# python
Python 3.8.0 (default, Feb 25 2021, 22:10:10) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
#查看设置好的优先级
update-alternatives --config python
#打印结果:
There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.8   300       auto mode
  1            /usr/bin/python2.7   100       manual mode
  2            /usr/bin/python3.6   200       manual mode
  3            /usr/bin/python3.8   300       manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives --install /usr/bin/pip pip /usr/bin/pip
#查看设置好的优先级
update-alternatives --config pip
#移除pip2
apt remove python2-pip
 #查看设置好的优先级
 update-alternatives --config python
 #打印结果:
 There are 3 choices for the alternative python (providing /usr/bin/python).
 
  Selection    Path                Priority   Status
 ------------------------------------------------------------
 * 0            /usr/bin/python3.8   300       auto mode
  1            /usr/bin/python2.7   100       manual mode
  2            /usr/bin/python3.6   200       manual mode
  3            /usr/bin/python3.8   300       manual mode
 Press <enter> to keep the current choice[*], or type selection number: 3
 update-alternatives --install /usr/bin/pip pip /usr/bin/pip
 #查看设置好的优先级
 update-alternatives --config pip
 #移除pip2
 apt remove python2-pip</pre>

背景

经常在 Linux 系统上开发,尤其是 Ubuntu 系统,因此对系统的文件结构进行一个整理,便于开发时使用正确的方式。

目标结构

[图片上传失败...(image-f7b1f6-1673277509673)]

在终端中使用 tree 指令,查看根目录结构,输出如下

 /
 ├── bin #bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令,如 ps、cat、cp、echo 等常用的系统指令
 ├── boot #这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
 ├── cdrom                                           ,
 ├── dev #dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的
 ├── etc #etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
 ├── home #用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
 ├── initrd.img -> boot/initrd.img-5.4.0-73-generic
 ├── initrd.img.old -> boot/initrd.img-5.4.0-72-generic
 ├── lib #lib 是 Library(库) 的缩写,这个目录里存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库
 ├── lib64 #
 ├── lost+found #这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
 ├── media #linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
 ├── mnt #系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
 ├── opt #opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。默认是空的。
 ├── proc #proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这个目录的内容不在硬盘上而是在内存里。
 ├── root #该目录为系统管理员,也称作超级权限者的用户主目录。
 ├── run #是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
 ├── sbin #s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
 ├── snap #snap应用程序的程序文件
 ├── srv #该目录存放一些服务启动之后需要提取的数据。
 ├── swapfile #
 ├── sys #系统中的设备和文件层次结构。文件夹中存储系统信息,用户需要的信息也从中调用。
 ├── tmp #tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
 ├── usr #usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
 ├── var #var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
 ├── vmlinuz -> boot/vmlinuz-5.4.0-73-generic
 └── vmlinuz.old -> boot/vmlinuz-5.4.0-72-generic
 
 补充
 /usr/bin:系统用户使用的应用程序与指令。
 /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
 /usr/src:内核源代码默认的放置目录。</pre>

ubuntu常用指令

[图片上传失败.

查看当前文件夹下的每个文件大小

du -d 1 -h

查看当前磁盘的大小信息

df -h

常用快捷键

ctrl+L  #清屏
vim file.txt #打开文件后, :wq保存退出,:q退出 :set nu显示行号

获取当次操作有效的管理员权限

sudo <命令> <参数>

文件/文件夹管理常用命令

 #显示当前路径
 pwd
 
 #切换目录
 cd <文件夹相对路径>  #进入到指定目录
 cd ..   #进入到当前目录的上一级目录
 cd -    #进入上一次所采的目录
 cd ~    #进入当前用户的主目录
 
 #列出目录下所有文件
 ls
 ls <文件夹相对路径>      #列出指定目录下的文件和文件夹
 ls <文件夹相对路径> -l   #列出文件/文件夹的详细信息
 ls <文件夹相对路径> -lh  #列出文件/文件夹的详细信息 以K,M,G 格式显示,方便查看
 
 #创建文件夹
 mkdir <文件夹名称>      #创建指定名称的文件夹
 
 #拷贝
 cp <原始路径> <目标路径>      #将原始路径的文件复制到目标路径
 cp -i <原始路径> <目标路径>   #将原始路径的文件复制到目标路径,覆盖前给出提示(推荐)
 cp -r <原始路径> <目标路径>   #将原始路径下所有文件夹及文件夹下的文件复制到目标路径下
 
 #移动
 mv <原始路径> <目标路径>      #将原始路径的文件移动到目标路径
 
 #删除指定文件
 rm <文件名>
 rm -r <文件夹名>     #删除指定目录下的所有文件和文件夹
 rm -f <文件夹名>     #强制删除指定文件夹
 rm -rf <文件夹名>    #强制删除指定目录下的所有文件和文件夹
 rm -rf *            #非常危险的指令,不要使用!!!</pre>

应用安装卸载常用命令

安装默认路径

#Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的
/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,根目录下的opt 给主机安装额外的软件,使得其他用户可用,可以理解为D:/Software,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

#apt命令下载的软件包默认保存在"/var/cache/apt/archives"目录下
#apt命令默认将软件安装在"/usr/share"目录下
#可执行文件默认安装在"/usr/bin"目录下
#库文件默认安装在"/usr/lib"目录下
#配置文件默认安装在"/etc"目录下

#下载文件默认会保存到"~/Downloads"目录下

apt在线安装

 #更新安装源
 sudo apt update     #从所有软件安装源里更新可安装软件信息列表
 
 #升级
 sudo apt upgrade    #升级所有可升级的软件包
 
 #安装
 sudo apt install <软件包名称>                          #安装指定软件包
 sudo apt -y install <软件包名称>                       #安装指定软件包,再命令行交互式提示[Y/N]时自动输入y
 sudo apt -no-install-recommends install <软件包名称>   #安装指定软件包,且避免安装非必须文件
 
 #移除
 sudo apt remove <软件包名称>   #移除指定的软件包
 sudo apt purge <软件包名称>    #移除指定的软件包,同时移除相关配置文件
 
 #清理
 sudo apt autoremove          #移除所有曾被自动安装但是现在已经无任何依赖关系的软件包
 sudo apt clean               #删除所有已经下载的软件包  
 
 #编辑源列表
 sudo gedit /etc/apt/sources.list  
 
 #修复依赖损坏  非常神奇有用的指令
 sudo apt-get install -f</pre>

dpkg离线安装.deb包

 #.deb格式 软件包安装
 sudo dpkg -i <安装包文件名>.deb  
 
 #.deb格式 软件包卸载
 sudo dpkg -r <软件包名称></pre>

打包解包命令

 #打包.gzip格式
 tar -czf <文件名>.tar.gz./*  #将当前目录下所有文件压缩打包
 
 #解包.gzip格式
 tar -xzf <文件名>.tar.gz     #将指定文件解压缩包
 
 #后缀 -c 实现打包功能
 #后缀 -x 实现解包功能
 #后缀 -z 实现.gzip格式的压缩解压功能
 #后缀 -f 指定文件名,这个参数必须放在最后
 
 #解包.zip格式
 unzip <文件名>.zip
 
 #解包.rar格式
 sudo apt install unrar   #先安装unrar
 unrar <文件名>.rar        #解压</pre>

常用信息查询命令

| 功能 | 命令行 |
| 查看内核版本 | uname -a |
| 查看ubuntu版本 | cat /etc/issue |
| 查看CPU信息 | cat /proc/cpuinfo |
| 查看USB设备 | lsusb |
| 查看硬盘剩余空间 | df -h |
| 查看进程占用资源的实时情况 | top |
| 显示有线网卡当前连接信息(常用于查ip) | ifconfig eth0 |
| 显示无线网卡当前连接信息(常用于查ip) | ifconfig wlan0 |
| 查询当前系统正在通过TCP/IP协议监听的进程信息 | netstat -lt |

软链接命令ln

这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s 是代号(symbolic)的意思。具体用法是:

 #注意不需要提前创建目标文件路径
 #创建软连接
 ln -s 源文件 目标文件
 #举例
 ln -s /home/zxl/DATA data
 ln -s log2013.log link2013</pre>

当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

有两点要注意:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,ln的链接又软链接 和硬链接两种,

  • 软链接ln -s xx xx ,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,<mark style="box-sizing: border-box; background: rgb(255, 255, 0); color: rgb(0, 0, 0);">类似于Windows操作系统中的快捷方式</mark>,

  • 硬链接ln xx xx,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
    如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。

 #删除软连接
 rm -rf 软链接地址
 #举例
 rm -rf data</pre>

上述指令中,软链接地址最后不能含有“/”,当含有“/”时,删除的是软链接目标目录下的资源,而不是软链接本身。

 #修改软连接
 ln -snf /home/zxl/DATA data

linux 的远程链接

装好linux系统之后,Windows用户单独安装xshell远程连接工具
 通过ip addr show 查看linux的网络IP信息</pre>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容

  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,510评论 0 16
  • Linux 概述 什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和...
    蜀山客e阅读 831评论 0 3
  • 自己以前整理的笔记,不太完整,后续会不断更新。。。。 [ ] 补全Linux常用命令,如末行模式下的命令、保存相关...
    alan2yang阅读 528评论 0 6
  • 一、Linux环境配置 先来看看 Linux 怎么读「你可想死,利尼克斯」,只要不是读的太离谱就行。Linux 系...
    CondorHero阅读 604评论 0 1
  • 简单的东西没学好,复杂的东西就不好学会 Linux命令行 pwd: 以绝对路径的方式显示用户当前工作目录 ll:显...
    在努力的Jie阅读 133评论 0 0