本篇文章主要持续记录和总结
ubuntu
的必备基础和使用过程当中遇到的各类问题
写入硬盘镜像
/home
用户的主目录/boot
启动目录,启动相关文件/sbin
超级用户才能使用的目录/root
超级用户的主目录/proc
系统内存的映射/dev
设备文件保存目录/etc
配置文件保存目录/lib
系统库保存目录/usr
系统软件资源目录/var
常常变化目录,常常放日志文件/tmp
临时目录# 新窗口打开终端 $ ctrl + alt + t $ ctrl + shift + n # 新标签页打开终端 $ ctrl + shift + t # 全屏 $ ctrl + m
$ sudo passwd root // 激活帐号,设置密码 $ sudo passwd -l root // 再次禁用 root 账号
$ sudo apt-get install package // 安装包 $ sudo dpkg -i package_file.deb // 安装 .deb 文件
$ sudo apt-get remove package // 删除包 $ sudo apt-get remove --purge package // 删除包和配置文件 $ sudo dpkg -r package_name // 卸载 .deb 文件 $ sudo dpkg -P package // 删除包和配置文件
$ sudo apt-get update // 更新源 $ sudo apt-get upgrade // 更新已安装的包
$ sudo apt-get autoclean // 清理已经卸载的包 $ sudo apt-get clean // 清理全部的安装包 $ sudo apt-get autoremove // 清理因依赖而安装但如今再也不须要的包
$ sudo update-grub
$ sudo gedit /etc/hosts
最新 hostshtml
下载 -> 系统设置 -> 语言支持 -> 键盘输入法系统 => fcitx
$ lsof -i:8000 // 查看 8000 端口 $ kill 对应的 pid // 中止使用这个端口的程序
# 对全部用户生效 - /etc/profile:为系统的每一个用户设置环境信息 - /etc/bashrc:每次新打开一个终端 shell,该文件被读取 # 对单个用户生效 - /.bash_profile:当用户登陆时该文件仅执行一次 - /.bashrc:当登陆以及每次打开新的 shell 时,该文件被读取
使用 source /etc/environment
可使变量设置在当前窗口当即生效,需 注销/重启
以后,才能对每一个新终端窗口都生效java
$ sudo gedit /etc/profile // 更改配置文件 # set java environment export JAVA_HOME=/home/feng/download/jdk1.8.0_131 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin $ source /etc/profile // 使其生效
Java SE Development Kit 8 Downloadsnode
$ sudo apt install linux-generic-hwe-16.04 // LTSEnablementStack
$ sudo apt install vim
如何让 vim 成为咱们的神器linux
$ pwd // 输出当前工做目录的绝对路径 $ rmdir // 移除空文件 $ rm -rf // 删除目录包含子目录和文件 $ mv // 重命名/移动文件/目录 $ cp // 复制文件 $ cp -r // 复制目录 $ ls -l // 显示文件详细信息 $ chmod -/+ // 修改文件权限 # 压缩和解压文件 // .zip:支持不一样操做系统 zip -r XX.zip XX # 压缩 unzip XX.zip # 解压 // .tar:仅打包,没有压缩 tar cvf XX.tar XX # 压缩 tar xvf XX.tar -C /XX/XX # 解压 // .tar.gz:使用普遍,快速压缩和提取 tar zcvf XX.tar.gz XX # 压缩 tar zxvf XX.tar.gz XX # 解压 // .tar.bz2:压缩效果最佳,相对速率较慢 tar zcvf XX.tar.bz2 XX # 压缩 tar zxvf XX.tar.bz2 XX # 解压
gnome-screenshot
sudo apt-get install gimp
gimp
相似 PS
,功能十分强大,若只是裁剪图片,可使用自带的截屏软件 gnome-screenshot
git
Flatabulous Ubuntu Tweak: # GTK 主题:Flatabulous # 图表主题:Ultra-Flat # 光标主题:DMZ-Black # 窗口主题:Flatabulous
Flatabulousgithub
f.lux
f.luxshell
一个利用 URL
语法在 命令行
下工做的 文件传输工具
json
# 执行下载 // 抓取页面内容到一个文件中 curl -o index.html https://www.baidu.com/ // 后面的 url 具体到某个文件 curl -O https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png // 只打印头部信息 curl -I https://www.baidu.com/ // 显示抓取错误 curl -f https://segmentfault.com/n/1330000011469701 // 不显示进度信息 curl -s -o vim.png https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png // 显示下载进度条 curl -# -o vim.png https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png // 经过 ftp 下载文件 curl -O -u 用户名:密码 ftp://@ip:port/static/style.css curl -O ftp://用户名:密码@ip:port/static/style.css // 经过 ftp 上传 curl -T style.css ftp://用户名:密码@ip:port/static/css/ # 发送请求 // GET curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://hostname/resource // POST curl -i -H "Content-Type: application/json" -X POST -d '{"username":"xyz","password":"xyz"}' http://hostname/resource
# 错误提示 校验数字签名时出错。此仓库未被更新,因此仍然使用此前的索引文件。GPG 错误:https://dl.yarnpkg.com/debian stable InRelease: 因为没有公钥,没法验证下列签名: NO_PUBKEY # 错误缘由 - 人为形成,更新系统或添加 PPA - 平白无故出现,如软件源服务器被黑形成了签名被篡改、文件被替换或与服务器的中间传输被某些人重置(如DNS被污染) - 储存 APT 数据和 GPG 签名的目录 /var/lib/apt/ 损坏(这种状况通常会同时伴有其余严重问题) # 解决方案 # 从新加入以上出现问题的apt-key sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com PGP签名
# byzanz byzanz 能制做文件小,清晰的 GIF 动态效果图,不足就是,目前只能经过输入命令方式来录制 ## 安装 sudo apt-get install byzanz ## 主要参数 -d, --duration=SECS 动画的时间 (默认:10 秒) -e, --exec=COMMAND Command to execute and time --delay=SECS 开始以前的延时(默认:1 秒) -c, --cursor 录制鼠标光标 -a, --audio 录音 -x, --x=像素 要录制矩形的 X 坐标 -y, --y=像素 要录制矩形的 Y 坐标 -w, --width=像素 录制矩形的宽度 -h, --height=像素 录制矩形的高度 -v, --verbose 详细 --display=显示 要使用的 X 显示 # xwininfo 查询要录制的窗口位置、宽度和高度 # 示例 byzanz-record -x 0 -y 24 -w 1920 -h 1056 -c -d 10 --delay=3 -v app.gif
为解决 文件的共享
使用,Linux 系统引入了两种连接:硬连接
(hard link) 与软连接
(又称 符号连接
,即 soft link 或 symbolic link)ubuntu
# 硬连接 ln 源文件 目标文件 - 文件有相同的 inode 及数据块 - 只能对已存在的文件进行建立 - 不能交叉文件系统进行硬连接的建立 - 不能对目录进行建立,只可对文件建立 - 删除一个硬连接文件并不影响其余有相同 inode 号的文件 # 软连接 ln -s 源文件或目录 目标文件或目录 - 软连接有本身的文件属性及权限等 - 可对不存在的文件或目录建立软连接 - 软连接可交叉文件系统 - 软连接可对文件或目录建立 - 建立软连接时,连接计数 i_nlink 不会增长 - 删除软连接并不影响被指向的文件,但若被指向的原文件被删除,则相关软链接被称为死连接(即 dangling link,若被指向路径文件被从新建立,死连接可恢复为正常的软连接)
PS1
是 Linux
终端用户的一个 环境变量
,用来定义命令行提示符的参数
# 查看默认设置 echo $PS1 # 经常使用参数及其含义 \H 完整的主机名 \h 主机中的第一个名字 \u 当前用户的帐号名称 \w 完整的工做目录名称 \$ 提示字符,若是是root用户,提示为#,普通用户则为$ # 临时修改 $ export PS1='[\u@\h\w]\$' # 永久修改 $ vim /.bashrc 编辑 PS1
Tmux
是 Linux 的 终端利器
,不只能够拆分窗口,还能够在在 SSH
环境下,避免网络不稳定,致使工做现场的丢失
# 几个重要的概念 - session:会话,一个服务器能够包含多个会话 - window:窗口,一个会话能够包含多个窗口 - pane:面板,一个窗口能够包含多个面板 # 经常使用快捷键 ## session - 建立会话 tmux new -s - 从新开启会话 tmux a -t - 查看全部会话 tmux ls - 删除某个会话 tmux kill-session -t - 删除全部会话 tmux kill-server $ 重命名会话 s 切换会话 d 退出会话 D 选择要退出的会话 ## window - 查看全部窗口 tmux lsw - 交换窗口顺序 swap-window -s 3 -t 1 c 建立新窗口 w 列出全部窗口 n 后一个窗口 p 前一个窗口 f 查找窗口 , 重命名当前窗口 & 关闭当前窗口 窗口号 切换窗口到指定窗口号 ## pane % 垂直分割 " 水平分割 o 切换窗格 x 关闭窗格 q 查看窗格编号 z 窗格最大化 { 与上一个窗格交换位置 } 与下一个窗格交换位置 space 切换窗格布局 ## 其余 t 显示时钟 ? 列出全部快捷键 : 命令提示符
个性化定制:gpakosz/.tmux
关于 Ubuntu
,若是还有 更有意思的内容或问题
,欢迎在评论中交流