主要适用于Ubuntu、Debian。sudo懒得打了,反正我在虚拟机里用root登陆。
1.文件夹大小查看
du -sh查看当前文件夹
du -ah查看子文件夹
du -lh --max-depth=1或ah 仅查看一级子目录
2.文件管理要点
mv ./* destination
mv ./.* destination
后面的是移动隐藏文件和目录
cp /etc/apt/source.list ./
tar -cf etc.tar /etc
tar -xf etc.tar
unzip xx.zip
rm -rf /tmp该指令为删除该文件夹下所有东西和他本身,很危险
ln -s 被链接者 链接名 建立软连接 不带s是硬链接
软链接就是win快捷方式,用的多
3.推荐安装与卸载
ubuntu自带的雷鸟和libreoffice建议卸了
建议安装wps(可下deb包直装),gimp
双击/etc/apt/source.list或启动器点软件和更新可以弹出图形软件源界面,建议换成专有驱动。
4.问题:Linux、Windows双系统时间互相改,不同步
原因:win将硬件时间视为本地时间,L将硬件时间视为UTC时间。
解决:修改win(建议),管理员权限打开命令提示符,运行这个:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
win就会把硬件时间视为UTC时间了。也可以在L里改,不过L里有点bug,不推荐。
5.搭建svn服务器
apt install subversion -y
cd /var && mkdir svn && cd svn
svnadmin create project && cd project/conf
然后在passwd里加一句 用户名=密码
在authz里加两句
[/]
用户名=rw
vim svnserve.conf
把这四句注释符号去了
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
然后执行svnserve -d -r /var/svn/project就行了
6.问题:Debian在VMware里最小安装后上不去网
原因:未给ens33配置dhcp
解决:
ip addr查看网卡具体名字,一般是ens33
vi /etc/network/interfaces
照上面lo的写法把网络配置成dhcp:
auto ens33
iface ens33 inet dhcp
顺便把apt源改了,然后重启就有网了
另附固定ip模板
auto eth0 iface eth0 inet static address 192.168.1.5 netmask 255.255.255.0 gateway 192.168.1.254 dns-nameserver 114.114.114.114
查看网关
ip route show
或route -n
查看dhcp细节
sudo dhclient
cat /var/lib/dhcp/dhclient.leases
7.问题:Ubuntu 18.04 LTS安装phpmyadmin后,某些功能报count()错误
原因:PHP7.2的count()对参数要求变严了,Ubuntu的apt安装的版本未及时更新。
解决:下载最新的phpmyadmin手动安装,或者按照以下步骤改下源代码,暂时解决。
(1)vim /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
输入551gg,跳到第551行,dd整行删了,然后换成这个
if ($options != null && (is_array($options) || $options instanceof Countable) && count($options) > 0) {
(2)vim /usr/share/phpmyadmin/libraries/sql.lib.php
输入613gg,跳到第613行
找到(count($analyzed_sql_results['select_expr'] == 1)
替换为((count($analyzed_sql_results['select_expr']) == 1)
经过以上两步后,重启apache/nginx,问题消失。
8.批量安装字体
在usr/share/fonts下建个文件夹
把字体扔进去
mkfontscale && mkfontdir && fc-cache -fv && source /etc/profile
即可完成
9.问题:开关机总是出现a start/stop job卡住
解决:
vim /etc/systemd/system.conf
把这两行注释去了并改数
DefaultTimeoutStartSec=9s
DefaultTimeoutStopSec=9s
然后执行systemctl daemon-reload
10.问题:安装中文Ubuntu后,文字模式控制台中文乱码。
解决:在该控制台中执行export LANG=C切成英文。
11.问题:VirturalBox装完系统后无法添加USB设备。
解决:去https://www.virtualbox.org/wiki/Downloads
下Oracle VM VirtualBox Extension Pack
注意下载对应版本的pack
下载后直接用VBox打开安装,或者在全局设定——扩展安装
装完后执行以下命令
groupadd usbfs
adduser 当前用户名 vboxusers
adduser 当前用户名 usbfs
重启机器即可添加usb设备。
12.局域网中查当前网段所有ip
nmap -sP 10.10.1.0/24
查询主机名对应ip
nmblookup 主机名
反查
nmblookup -A ip
13.问题:RhythmBox中文乱码
解决:vim /etc/profile
在最后一行加上
export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030
export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030
然后source /etc/profile
14.安装卸载VMware的bundle包:
安装:sudo ./VMware-Workstation-Full-14.1.1-7528167.x86_64.bundle
卸载:sudo vmware-installer -u vmware-workstation
15.Linux控制台中用sz和rz通过ssh传文件
apt install zssh
然后用zssh登陆远程主机
按^@+Space(Ctrl + Shift + Space)进入文件传输模式
输入?即可获得文件传输教程
16.问题:使用ssh连接远程主机后,sz命令卡死控制台
解决:Ctrl + D无效。需要按住Ctrl,然后连续按四到五次X键,中断传输即可。
17.服务管理更全的版本
(1)chkconfig
debian系列安装chkconfig命令:apt install sysv-rc-conf
注意这个sysv-rc-conf就是红帽系统的chkconfig
无法定位软件包则临时加软件源deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
这个命令直接敲就是一个图形化的服务与运行级别对应图,可以直接管理服务自动启动
sysv-rc-conf --list即可列出所有的服务与运行级别对应关系
(2)update-rc.d
这个命令可以管理服务自起,和上面那个作用差不多,都是处理rc脚本的
加上-f参数为强制
update-rc.d -f apache2 enable/disable/defaults
分别为启动、不启动、按默认
update-rc.d name disable|enable [ S|2|3|4|5 ]
为按运行级别控制服务启动
(3)service命令
service 服务名 start,stop,status,restart,reload
命令作用明显
service --status-all 列出所有服务状态
(4)systemctl
说明:这个命令是控制systemd这种init的,是较为新式的init(上面的命令其实控制System V init),很多走这个init的服务用上面的方法控制会无效,需要用这个控制。
打开服务:sudo systemctl start foobar
关闭服务:sudo systemctl stop foobar
重启服务:sudo systemctl restart foobar
不中断正常功能下重新加载服务:sudo systemctl reload foobar
设置服务的开机自启动:sudo systemctl enable foobar
关闭服务的开机自启动:sudo systemctl disable foobar
查看活跃的单元:systemctl list-units
查看某个服务的状态:systemctl status foobar
18.彻底重置apt软件列表
apt clean
rm /var/lib/apt/lists/*
rm /var/lib/apt/lists/partial/*
apt clean
apt update
update-rc.d name disable|enable [ S|2|3|4|5 ]
19.修改主机名
方法一:使用hostnamectl命令
hostnamectl set-hostname ubs2
方法二:修改配置文件/etc/hostname
vim /etc/hostname
ubs2
20.端口管理
查看某端口被谁占用
lsof -i:端口号
netstat -tunlp|grep 端口号
另外lsof功能很强,可以列出当前系统中被占用的各类资源。如占用的文件。
查看所有被占的端口及状态
netstat -tunap
21.问题:Linux修改主机名后,apache无法启动
解决:vim /etc/hosts
把127.0.0.1 原主机名
改成现在的主机名