Linux学习笔记(二)

主要适用于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 原主机名

改成现在的主机名

你可能感兴趣的:(Linux学习笔记(二))