first commit
This commit is contained in:
11
content/linux 入门/README.md
Executable file
11
content/linux 入门/README.md
Executable file
@@ -0,0 +1,11 @@
|
||||
## Linux 入门
|
||||
#前沿
|
||||
本文将介绍一些linux的基本知识。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
感谢茹枫的大力支持
|
||||
加入茹枫官方QQ群 deepin天天用7343311
|
||||
2
content/linux 入门/第一章/1.1.md
Executable file
2
content/linux 入门/第一章/1.1.md
Executable file
@@ -0,0 +1,2 @@
|
||||
# 1.1基本格式命令 选项 参数
|
||||
|
||||
3
content/linux 入门/第一章/1.10.md
Executable file
3
content/linux 入门/第一章/1.10.md
Executable file
@@ -0,0 +1,3 @@
|
||||
#1.10### 视窗管理
|
||||
|
||||
linux的视窗叫X,视窗提供了图形界面,其中X负责协调各个组件,同时设计成客户端/服务器的模式。组件有窗口管理器,登录界面,桌面等。组件化提供linux更大的灵活性,甚至图形界面也不是必须的,是建立在字符界面的一层应用,这样好处是方便图形出问题的时候,在字符界面挽救一下系统。但是,有得必有失,相对来说,linux的图形界面稳定性,效率比较低(但可以接受)。
|
||||
20
content/linux 入门/第一章/1.11.md
Executable file
20
content/linux 入门/第一章/1.11.md
Executable file
@@ -0,0 +1,20 @@
|
||||
#1.11#### apt 包:
|
||||
1. xorg : X视窗的一个具体实现。
|
||||
2. xserver-xorg : X服务器套件
|
||||
3. xbase-clients : X客户端
|
||||
4. X11-common : X的基础设施
|
||||
5. menu :debian菜单,位于/usrk/share/menu/
|
||||
6. menu-xdg:freedesktop.org 菜单(标准),位于/usr/share/applications/,该包负责将debian专属menu转化为标准菜单
|
||||
7. xdg-utils: xdg是一个桌面标准,这是它的工具包
|
||||
8. task-gnome-desktop:gnome桌面环境
|
||||
9. task-kde-desktop:kde桌面环境
|
||||
10. task-xfce-desktop:xfce桌面环境
|
||||
11. task-lxqt-desktop:lxqt桌面环境
|
||||
12. fluxbox: 窗口管理器
|
||||
13. gdm3:gnome显示管理器
|
||||
14. sddm:kde显示管理器
|
||||
15. xdm:X显示管理器
|
||||
16. wdm:windowmaker显示管理器
|
||||
17. ldm: LTSP显示管理器(SSH网络)
|
||||
18. openssh-client : `ssh -X` 远程链接X
|
||||
19. xfonts-utils : X窗口字体工具包
|
||||
8
content/linux 入门/第一章/1.12.md
Executable file
8
content/linux 入门/第一章/1.12.md
Executable file
@@ -0,0 +1,8 @@
|
||||
#1.12
|
||||
#### X客户端/X服务器
|
||||
|
||||
X客户端是相对应用程序的视角出发的定义,即程序本身。但是这个程序在用户角度可能是服务器上的一个程序。
|
||||
|
||||
X服务器是相对应用程序而言的,即提供显示设备和输入设备服务端,对用户来说是眼前的设备。
|
||||
|
||||
更多时候,X客户端和X服务器同时运行在本地电脑。
|
||||
20
content/linux 入门/第一章/1.13.md
Executable file
20
content/linux 入门/第一章/1.13.md
Executable file
@@ -0,0 +1,20 @@
|
||||
#1.13
|
||||
#### X管理命令
|
||||
|
||||
1. `dpkg-reconfigure --priority=low x11-common` 重新配置X服务器
|
||||
2. `startx` 启动X会话,即同时启动X服务器和客户端
|
||||
1. graphical.target : systemd启动守护进程,某个dm显示管理器。
|
||||
1. /etc/X11/default-display-manager :默认的dm
|
||||
2. /etc/X11/Xsession
|
||||
1. /etc/X11/Xsession.options
|
||||
3. ~/.xsession
|
||||
4. /usr/bin/x-session-manager
|
||||
1. `update-alternatives --config x-session-manager` 由debian选择系统指定真实的X会话管理器
|
||||
5. /usr/bin/x-window-manager
|
||||
6. /usr/bin/x-terminal-emulator
|
||||
3. `xset q` 查看配置
|
||||
4. `fc-match` 字体匹配
|
||||
5. `fc-list` 字体列表
|
||||
1. .pcf.gz : 点阵字体
|
||||
2. .pcf | .afm :postscript轮廓字体
|
||||
3. .ttf :truetype 轮廓字体
|
||||
20
content/linux 入门/第一章/1.14.md
Executable file
20
content/linux 入门/第一章/1.14.md
Executable file
@@ -0,0 +1,20 @@
|
||||
#1.14
|
||||
### 汉化
|
||||
|
||||
多语言multilingualization(M17N)、国际化internationalization(I18N)、本地化localization(L10N)的支持,linux是比较友好的,虽然没有商业化软件那么到位,但是基本的框架都有,就看实际的应用程序有没有支持了。
|
||||
|
||||
有些软件的汉化工作是通过另一个包来实现的,比如chromium浏览器,通过chromium-l10n包来实现汉化。注意那几个特殊英文的缩写m17n、i18n、l10n,查看软件有没有提供类似的包。
|
||||
|
||||
1. `gettext` :本地化的工具
|
||||
2. `sudo dpkg-reconfigure keyboard-configuration` 键盘配置
|
||||
3. `sudo dpkg-reconfigure console-setup`
|
||||
4. ibus : 输入法框架
|
||||
5. im-config:输入法框架选择器
|
||||
6. XMODIFIERS=none :禁用XIM输入法
|
||||
7. `sudo dpkg-reconfigure locales` 配置本地支持的语言集
|
||||
8. /etc/environment : 支持PAM插入式验证模块设置的环境变量
|
||||
9. /etc/default/locale :设置LANG变量
|
||||
10. convmv :转换文件名编码
|
||||
11. `sudo dpkg-reconfigure tzdata` 修改时区
|
||||
1. /etc/timezone
|
||||
12. iconv :转换字符串编码
|
||||
15
content/linux 入门/第一章/1.15.md
Executable file
15
content/linux 入门/第一章/1.15.md
Executable file
@@ -0,0 +1,15 @@
|
||||
#1.15
|
||||
### 驱动
|
||||
|
||||
1. lspci
|
||||
2. lsusb
|
||||
3. xset
|
||||
4. alsa-utils :“高级linux声音体系”工具包
|
||||
5. pulseaudio :替代ESD
|
||||
6. libphonon4: KDE声音引擎
|
||||
7. 打印机
|
||||
1. cups 通用uinx打印系统
|
||||
2. cups-client
|
||||
3. http://localhost:631/
|
||||
4. IPP(internet printing protocol)协议
|
||||
8. udevadm : udev管理工具
|
||||
19
content/linux 入门/第一章/1.16.md
Executable file
19
content/linux 入门/第一章/1.16.md
Executable file
@@ -0,0 +1,19 @@
|
||||
#1.16
|
||||
|
||||
### 文件系统
|
||||
1. e2fsprogs : ext文件系统工具
|
||||
2. dosfstools :fat文件系统工具
|
||||
3. ntfs-3g :ntfs文件系统工具
|
||||
4. jfsutils:jfs文件系统工具
|
||||
5. hfsprogs:hfs文件系统工具
|
||||
6. mount 挂载
|
||||
1. /etc/fstab 挂载配置
|
||||
2. systemd.mount 服务
|
||||
7. mkfs 格式化
|
||||
8. fsck 检查
|
||||
9. tune2fs 调整ext
|
||||
10. hdparm 测试硬盘
|
||||
11. mtools : dos工具包
|
||||
12. hfsutils : hfs工具包
|
||||
13. `df -h`: 查看文件系统空间
|
||||
14. `du -hcd1 *` 查看目录空间,h人性化、c总计、d1目录深度1
|
||||
11
content/linux 入门/第一章/1.17.md
Executable file
11
content/linux 入门/第一章/1.17.md
Executable file
@@ -0,0 +1,11 @@
|
||||
#1.17
|
||||
#### 映像
|
||||
|
||||
1. `cp /dev/sda sda.img` 制作整盘映像
|
||||
2. `dd if=/dev/sda of=sda.img bs=512 count=1` 备份启动扇区
|
||||
3. `mount -t auto -o loop sda.img /mnt/loop0` 挂载映像
|
||||
4. `losetup -vf sda.img` 加载循环设备
|
||||
5. `dd bs=1 count=0 if=/dev/zero of=disk.img seek=5G` 制作5GB空盘映像
|
||||
6. `isoinfo -d -v xp.iso` 查看光盘映像信息
|
||||
7. `dd if=xp.iso bs=2048 count=307733 conv=notrunc,noerror | md5sum` 计算映像的md5散列和
|
||||
8. `od -t x1` 查看二进制数据
|
||||
26
content/linux 入门/第一章/1.18.md
Executable file
26
content/linux 入门/第一章/1.18.md
Executable file
@@ -0,0 +1,26 @@
|
||||
#1.18
|
||||
### 数据管理
|
||||
1. tar :归档
|
||||
1. tar -cavf x.tar.xz x1 x2 x3
|
||||
2. tar -rvf x.tar x1 x2 x3 未压缩前可以追加文件进包-r
|
||||
3. tar -xavf x.tar.xz -C x 解压缩到x
|
||||
4. tar -tvf x.tar.xz 查看包内容
|
||||
2. cpio :unix归档
|
||||
3. pax:posix归档
|
||||
4. gzip: .gz压缩
|
||||
1. gunzi/gzip -d
|
||||
5. bzip2: .bz2压缩
|
||||
6. xz-utils : .xz压缩
|
||||
7. zip/unzip: .zip压缩(支持多文件)
|
||||
1. `zip x.zip x1 x2 x3` 打包压缩x1、x2、x3
|
||||
2. `upzip x.zip -d x` 解压缩到x目录
|
||||
8. p7zip: .7z压缩
|
||||
9. cp/scp/rsync: 复制、同步
|
||||
10. split:分段
|
||||
11. gnupg: openpgp加密签名工具包
|
||||
12. md5sum: 计算md5校验和
|
||||
13. openssl: 计算信息摘要
|
||||
14. git: 分布式数据版本管理
|
||||
15. `iconv -f GBK -t UTF-8`: 字符集转换
|
||||
16. catdoc :将msword转化为txt
|
||||
17. rsync : 备份
|
||||
42
content/linux 入门/第一章/1.19.md
Executable file
42
content/linux 入门/第一章/1.19.md
Executable file
@@ -0,0 +1,42 @@
|
||||
#1.19
|
||||
### 编译
|
||||
|
||||
预先安装以下apt包:build-essential、libncurses5-dev、fakeroot、libqt4-dev(make xconfig需要)、libglalde2-dev和libgtk2.0-dev(make gconfig需要)、flex、bison、bc、libelf-dev、libssl-dev
|
||||
|
||||
或者:
|
||||
```bash
|
||||
sudo apt install build-essential fakeroot
|
||||
sudo apt build-dep linux
|
||||
sudo apt install devscripts #简单修补
|
||||
```
|
||||
|
||||
1. /boot/config-version 当前内核配置文件
|
||||
1. `cp /boot/configxxx .config` 拷贝当前配置到内核目录
|
||||
2. `make olddefconfig` 转换为缺省应答
|
||||
3. `make oldnoconfig` 转换为相反应答
|
||||
4. `make oldconfig` 人工应答
|
||||
5. `make clean` 清除当前编译内容
|
||||
6. `make distclean `清除编译内容和配置
|
||||
7. `make defconfig` 自定义配置
|
||||
8. `make localmodconfig` 基于当前加载模块生成配置
|
||||
9. `scripts/config --disable MODULE_SIG` 禁用模块签名
|
||||
10. `scripts/config --disable DEBUG_INFO` 禁用调试信息
|
||||
2. linux-source 内核源文件
|
||||
1. <https://www.kernel.org/>
|
||||
3. make menuconfig 文本模式(libncurses5-dev)
|
||||
1. make xconfig 图形qt(libqt4-dev)
|
||||
2. make gconfig 图形GTK+(libglade2-dev/libgtk2.0-dev)
|
||||
4. arch/arch/configs/*_defconfig 默认配置
|
||||
5. `sudo make deb-pkg -j4` 编译成deb包,j4表示4线程
|
||||
1. linux-image-version
|
||||
2. linux-headers-version
|
||||
3. linux-firmware-image-version
|
||||
4. linux-image-version-dbg
|
||||
5. linux-libc-dev
|
||||
6. `sudo dkms status` 查询动态模块
|
||||
1. /var/lib/dkms 自动管理的模块
|
||||
2. 状态流程:add -> build -> install <- uninstall
|
||||
1. `sudo dkms add -m xxx/1.1 -k linux5.1.1`
|
||||
2. `sudo dkms build -m xxx/1.1`
|
||||
3. `sudo dkms install -m xxx/1.1`
|
||||
4. `sudo dkms uninstall -m xxx/1.1`
|
||||
2
content/linux 入门/第一章/1.2.md
Executable file
2
content/linux 入门/第一章/1.2.md
Executable file
@@ -0,0 +1,2 @@
|
||||
# 1.2 常用命令
|
||||
|
||||
14
content/linux 入门/第一章/1.20.md
Executable file
14
content/linux 入门/第一章/1.20.md
Executable file
@@ -0,0 +1,14 @@
|
||||
#1.20
|
||||
## 应用案例
|
||||
|
||||
删除 i386架构,因为我安装了winehq,他要求i386架构,但是后来我用虚拟机解决和windows兼容的问题了,所以就想着删除。但是如果没有把相应的i386库删除完毕,是无法删除架构的。光删除wine是无法彻底删除i386库。
|
||||
```bash
|
||||
dpkg --print-foreign-architectures #这条命令可以查看是否安装了i386架构
|
||||
|
||||
sudo dpkg --remove-architecture i386 #删除i386架构,但前提是你没有安装任何i386库。
|
||||
|
||||
dpkg -l | grep i386 |awk '{print $2}' #这条命令会列出系统内安装的i386库
|
||||
|
||||
dpkg -l | grep i386 |awk '{cmd="echo y|sudo apt autoremove "$2;system(cmd)}'
|
||||
#这条命令根据上一条命令稍微改装了一下,自动化调用apt删除相关库
|
||||
```
|
||||
9
content/linux 入门/第一章/1.21.md
Executable file
9
content/linux 入门/第一章/1.21.md
Executable file
@@ -0,0 +1,9 @@
|
||||
#1.21
|
||||
## 参考
|
||||
1. 让linux console支持中文显示和fcitx输入法: <http://www.voidcn.com/article/p-wrcgydjy-er.html>
|
||||
2. Ubuntu中在tty终端显示和输入汉字: <https://blog.csdn.net/xiajian2010/article/details/9625131>
|
||||
3. 编码:GBK CP936、GB2312 CP20936、GB18030 CP54936、ASCII ISO-8859-1 CP850、BIG5 CP950、UTF-32 UCS-4、UTF-16 UCS-2、UTF-8。
|
||||
4. 一张图让你学会LVM: <https://www.cnblogs.com/linuxprobe/p/5381538.html>
|
||||
5. 在Ubuntu 18.04系统中下载并手动编译Linux 5内核的方法: <https://ywnz.com/linux/4699.html>
|
||||
6. debian 管理员手册:<https://www.debian.org/doc/manuals/debian-handbook/sect.kernel-compilation.zh-cn.html>
|
||||
7. sudo配置文件/etc/sudoers详解及实战用法: <https://blog.csdn.net/heli200482128/article/details/77833881>
|
||||
2
content/linux 入门/第一章/1.3.md
Executable file
2
content/linux 入门/第一章/1.3.md
Executable file
@@ -0,0 +1,2 @@
|
||||
# 1.3 命令行技巧
|
||||
|
||||
2
content/linux 入门/第一章/1.4.md
Executable file
2
content/linux 入门/第一章/1.4.md
Executable file
@@ -0,0 +1,2 @@
|
||||
# 1.4 管理linux 安装debian linux
|
||||
|
||||
2
content/linux 入门/第一章/1.5.md
Executable file
2
content/linux 入门/第一章/1.5.md
Executable file
@@ -0,0 +1,2 @@
|
||||
# 1.5 apt 程序包管理
|
||||
|
||||
44
content/linux 入门/第一章/1.6.md
Executable file
44
content/linux 入门/第一章/1.6.md
Executable file
@@ -0,0 +1,44 @@
|
||||
#1.6### systemd 服务管理
|
||||
|
||||
1. dmesg 显示内核启动日志
|
||||
2. systemd-analyze 启动时间
|
||||
3. systemctl 服务管理
|
||||
1. systemctl poweroff 关机
|
||||
2. systemctl reboot 重启
|
||||
3. systemctl suspend 挂起
|
||||
4. systemctl hibernate 休眠
|
||||
5. /lib/systemd/system
|
||||
6. /etc/systemd/system
|
||||
7. 服务文件
|
||||
8. 目标文件
|
||||
4. journalctl 查看日志
|
||||
5. systemd-cgls 跟踪启动过程
|
||||
6. lsmod 列出内核模块
|
||||
7. modinfo 模块信息
|
||||
8. 常见端口:
|
||||
1. 80:www
|
||||
2. 25:smtp
|
||||
3. 20:ftp-data
|
||||
4. 21:ftp
|
||||
5. 23:telnet
|
||||
6. 143: imap2
|
||||
7. 110:pop3
|
||||
8. 389:ldap
|
||||
9. 443:https
|
||||
10. 465:ssmtp
|
||||
11. 989:ftps-data
|
||||
12. 990:ftps
|
||||
13. 992:telnets
|
||||
14. 993:imaps
|
||||
15. 995:pop3s
|
||||
16. 636:ldaps
|
||||
11. rsyslog 日志后台守护进程
|
||||
12. crontab 计划任务
|
||||
1. /etc/cron.daily/
|
||||
2. /var/spool/cron/crontabs/user
|
||||
3. /etc/cron.allow
|
||||
4. @daily @yearly @monthly @ weekly @hourly @reboot
|
||||
5. 分 时 日 月 星期 账号 命令
|
||||
1. a-b 区间
|
||||
2. a-b/c 间隔
|
||||
3. `*` 任意
|
||||
39
content/linux 入门/第一章/1.7.md
Executable file
39
content/linux 入门/第一章/1.7.md
Executable file
@@ -0,0 +1,39 @@
|
||||
#1.7### 用户管理
|
||||
|
||||
1. /etc/passwd 用户
|
||||
1. `sudo vipw` 编辑
|
||||
2. /etc/shadow 加密后的密码
|
||||
1. `sudo vipw -s` 编辑
|
||||
3. /etc/group 组
|
||||
4. getent 浏览帐号文件信息
|
||||
5. passwd 设置帐号密码
|
||||
1. passwd -g 设置用户组密码
|
||||
6. /etc/sudoers 可用sudo提升权限的账户
|
||||
1. visudo 编辑
|
||||
7. gpasswd 用户组设置
|
||||
8. chsh 变更登录shell
|
||||
1. /etc/shells :支持的shell列表
|
||||
2. /etc/bash.bashrc 初始脚本
|
||||
3. /etc/profile 登录脚本
|
||||
9. chfn 变更账户个人信息
|
||||
10. newgrp/sg 变更主用户组
|
||||
11. groups 列出当前帐号所属的用户组列表
|
||||
12. id 显示当前帐号相关情况
|
||||
13. addgroup 创建用户组
|
||||
14. delgroup 删除用户组
|
||||
15. groupmod 修改用户组
|
||||
16. adduser 添加或修改账户
|
||||
1. /etc/adduser.conf
|
||||
2. /etc/skel 模板
|
||||
3. `sudo adduser user group` 添加用户到组(linux对这个加入用户组的概念实现得非常反人类)
|
||||
17. 权限
|
||||
1. u所有者user、g用户组group、o其他other
|
||||
2. 文件:r读read、w写write、x执行exectute、u+s授权所有者uid执行二进制程序,g+s 所有者组gid执行二进制程序
|
||||
1. `chmod u+s`设置u为s授权使用所有者权限执行
|
||||
2. `chmod g+s`设置g为s授权使用用户组权限执行
|
||||
3. `chmod o+t` 无效
|
||||
3. 目录:r列出文件、w添加删除文件、x进入文件夹、g+s新建文件继承组gid、
|
||||
o+t其他人不能删除
|
||||
1. `chmod u+s` 无效
|
||||
2. `chmod g+s`设置g为s目录内继承目录用户组
|
||||
3. `chmod o+t`设置o为t目录下的文件仅文件所有者,目录所有者和root可以删除,其他人无法删除(不递归)
|
||||
33
content/linux 入门/第一章/1.8.md
Executable file
33
content/linux 入门/第一章/1.8.md
Executable file
@@ -0,0 +1,33 @@
|
||||
#1.8### 网络管理
|
||||
|
||||
1. /etc/systemd/network/ 网络配置目录
|
||||
2. ip addr : 地址
|
||||
3. ip route : 路由
|
||||
4. ip neigh : arp或ndisc缓存
|
||||
5. ip maddr : 多播地址
|
||||
6. ip tunnel : ip 隧道
|
||||
7. ifrename : mac地址接口名
|
||||
8. ethtool : 以太网设备设置
|
||||
9. traceroute : 跟踪路由
|
||||
10. netstat: 监听端口状态
|
||||
11. ping -c 1 -s $((1500-28)) -M do baidu.com : 测试最大MTU。
|
||||
12. tracepath : 跟踪网络
|
||||
13. ntp 时间服务器
|
||||
1. ntpdate :简易客户端包
|
||||
2. ntpdate-debian
|
||||
1. /etc/default/ntpdate
|
||||
14. ssh
|
||||
15. vnc
|
||||
16. nat(dnat):改变封包地址(可用于端口转发)
|
||||
1. /etc/sysctl.conf
|
||||
17. vpn :以信道方式提供虚拟专用网
|
||||
1. ssl :安全套接层
|
||||
2. tls: 传输层安全,标准化的ssl
|
||||
3. x.509: 授权认证CA标准
|
||||
1. easy-rsa
|
||||
4. ipsec-toos :提供ipsec服务
|
||||
18. qos:quality of service,流量分级管控。
|
||||
1. tc : 设置qos参数
|
||||
2. wondershaper
|
||||
19. bind9 : dns包
|
||||
1. host : 查询dns
|
||||
10
content/linux 入门/第一章/1.9.md
Executable file
10
content/linux 入门/第一章/1.9.md
Executable file
@@ -0,0 +1,10 @@
|
||||
#1.9### 网络应用
|
||||
|
||||
1. chromium :chrome 的社区版
|
||||
1. chromium-browser-l10n :中文包
|
||||
2. firefox :火狐浏览器
|
||||
3. firefox-esr : 长期支持版火狐
|
||||
4. epiphany-browser : GNOME版浏览器
|
||||
5. konqueror: KDE版浏览器
|
||||
6. dillo: FLTK版浏览器
|
||||
7. w3m、lynx、elinks、links、links2 :其他
|
||||
15
content/linux 入门/第一章/README.md
Executable file
15
content/linux 入门/第一章/README.md
Executable file
@@ -0,0 +1,15 @@
|
||||
|
||||
## 一、命令行
|
||||
|
||||
进入linux世界,不可避免要接触到命令行的使用。命令行相比图形界面有如下优点:
|
||||
1. 占用更少的资源
|
||||
2. 更容易批量处理
|
||||
3. 更容易整合
|
||||
|
||||
比如在服务器领域,经常都是不带界面的,因为用户通过网络来使用服务器,而不需要连接服务器的显示器。如果安装界面,目的就是为了管理系统本身,如果通过命令行,就可以减少服务器的资源浪费,服务更多客户。
|
||||
|
||||
批处理是对同一类事物经常的串联处理,这个是命令行的强项,比如文件改名字,用图形界面经常是一个文件一个文件的修改,而命令行可以批量的,根据某些规则进行统一修改。
|
||||
|
||||
图形应用程序通常都是为特定业务服务的,它们设计上更加偏向自成体系,因为图形应用程序往往更加复杂。而命令行程序很多都是很简单的业务,设计上更加偏向组合其他命令行来完成更大的任务。因为比较简单,也更容易整合在一起。当然,结论不是一成不变的,只能说总体上如此。
|
||||
|
||||
说了那么多,就是为了让大家放下对命令行的偏见,不要认为i图形界面必然比命令行优秀。或者反过来也是不成立的,应该是各有优缺点。
|
||||
Reference in New Issue
Block a user