Hugh's Blog

Ubuntu 使用笔记

目录文件夹名称改为英文

export LANG=en_US
xdg-user-dirs-gtk-update

在弹出的窗口中询问是否将目录转化为英文路径,同意并关闭,然后改回中文 export LANG=zh_CN 重启就行

Dos、Unix 文件编码转换

# vim
:set ff=unix #转换为 Unix
:set ff=dos #转换为 Windows
# vi
:1,$s/^M//g #移除 ^M 字符,为了输入 ^M,需要先 Ctrl-v , 然后 Enter 或者 return

使用工具 dos2unix, unix2dos

dos2unix winfile.txt unixfile.txt
unix2dos unixfile.txt winfile.txt

查看文件夹大小

查看分区情况

df -h # 空间使用情况
df -i # 参数指的是 inode

查看文件或文件夹大小

du -h --max-depth=1
du -sh # 当前目录大小
du -sh /* # 遍历所有文件大小
du -sh /usr/* # 查看某个目录占用大小

-h 人类可读,比如显示 MB、GB 等等。

--max-depth=N 指定目录层数,如果是当前文件夹占用空间 (N=0) 即可,如果是当前目录及下一级目录 (N=1) 即可。

终端下调节音量

alsamixer

上下调节音量,左右选择设备,Esc 退出。

修正时区

mv /etc/localtime /etc/localtime.old
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 修改默认时区为上海

Nginx 访问日志中出现最多的 10 个 ip

sudo cat access.log | awk '{print $1}' | sort -n | uniq -c | sort -rn | head -n 10

注意:uniq -c 只取连续相同的记录,隔开另算,所以前面要有 sort -n 来做下排序汇总。

查看端口占用情况

# 当前用户
lsof -i
# 所有用户
sudo lsof -i
# 查看某个端口的占用情况
sudo lsof -i :80
sudo netstat -nlp | grep :80

进程管理

# 列出所有进程
ps -A
# 根据名称获取 pid
pidof nginx
pgrep nginx
ps -aux | grep nginx
# 根据 pid 杀死进程
kill -9 26096
# 根据名称杀死进程
pkill nginx

修改 DNS

vim /etc/resolv.conf # 查看当前 DNS
# 1
sudo echo "nameserver 8.8.8.8" >> /etc/resolvconf/resolv.conf.d/base
sudo echo "nameserver 8.8.4.4" >> /etc/resolvconf/resolv.conf.d/base
sudo resolvconf -u
# 2
sudo echo "dns-nameservers 8.8.8.8 8.8.4.4" >> /etc/network/interfaces
sudo /etc/init.d/networking restart

SSH 通过 pscp.exe 上传文件

软件可以在这个页面下载,直接下载

# 直接在软件所在目录运行
# 单个文件
pscp.exe test.php user@ip:/var/www/html/
# 整个目录
pscp.exe -r public_html\ user@ip:/var/www/html/
# 通过密钥,注意密钥格式为 PuTTY(ppk) 使用的格式
pscp.exe -r -i D:\paht\to\ssh.ppk public_html\ user@ip:/var/www/html/

强制注销其他用户

pkill -kill -t pts/1

解压缩

压缩的话一般分两步,先打包 tar,再压缩 gzip,当然也可以一个命令完成。

注意文件或者目录是绝对路径的话,打包会建立对应的目录,否则用相对路径。

# 分开命令
tar -cvf archive.tar /path/to/directory
gzip archive.tar
# 一个命令
tar -czvf archive.tar.gz /path/to/directory /path/to/another/directory /path/to/file

解压也很简单。

# 解压在当前目录
tar -zxvf archive.tar.gz
# 解压在指定目录
tar -zxvf archive.tar.gz -C /your/path

参数说明:

  • -z:使用 gzip 压缩打包好的文件,注意文件名称要带 .gz 后缀

  • -x:解压文件

  • -c:建立压缩文件

  • -v:显示压缩过程

  • -f:指定压缩文件名称

useradd、adduser 区别

useradd 无交互,无用户目录,无密码,无系统 Shell。

adduser 有交互,有目录等。

完全卸载

# 删除应用,保留配置,保留依赖
apt-get remove
# 删除应用,删除配置,保留依赖
apt-get purge
apt-get remove --purge
# 删除依赖
apt-get autoremove
# 删除 /var/cache/apt/archives/ 中过期的 deb 包
apt-get autoclean
# 类似于 rm /var/cache/apt/archives/*.deb
apt-get clean

参考

How do I convert between Unix and Windows text files?

如何在终端中调节电脑音量的大小?

A Guide to Kill, Pkill and Killall Commands to Terminate a Process in Linux

PSCP: Upload an entire folder, Windows to Linux