常用命令行:
- `ls` list
- `cd` change directory
- `mkdir` make directory
- `rmdir` remove directory
- `touch` 创建新的空白文件
- `rm` remove 删除文件
- `cat` 显示文件内容
- `find` 搜索文件。 `find . -name "*.txt" -mtime 5` 搜索最近5天的txt文件
- `grep` 快速查找文件中的文本,甚至可以搜索子目录。`grep -ir "text string" *` 所有文件中搜索"text string"
- `rename` 使用正则表达式快速重命名文件。 `rename -v 's/foo/bar/g' *` 所有包含foo的文件重命名为包含bar
- `alias` 别名
开发环境
安装mysql-server后
sudo mkdir /var/lib/mysql/
sudo chown mysql:mysql -R /var/lib/mysql/
sudo mysqld --initialize
sudo systemctl start mysql
sudo systemctl enable mysql
sudo vim /etc/mysql.conf.d/mysqld.conf
[mysqld]
max_allowed_packet=1024M
skip-grant-tables
sudo systemctl restart mysql
mysql -uroot -p
use mysql;
update user set authentication_string=password("youpassword") where user='root';
flush_privileges;
\q
# 如遇警告alter user
alter user 'root'@'localhost' identified by 'yourpassword';
create user 'acore'@'%' identified by 'acore';
grant all on *.* to 'acore'@'%';
flush privileges;
\q
Grub2引导Windows10
insmod ntfs
insmod chain
set root=(hd0,msdos1) # 可自动补全,输入 set root=( 后按下2次TAB即可,如果需要验证是否为需要的磁盘,可再按TAB验证
chainloader +1
boot
添加ssh用户:
- `vim /etc/ssh/sshd_config`
- `AllowUsers <user-name>`
- `service sshd restart`
分区推荐:
挂载点 | 分区 | 大小 |
---|---|---|
/ | 主分区 | 20~100G |
swap | 逻辑分区,虚拟内存 | 2~8G 内存大小的1~2倍 |
/boot | 逻辑分区,引导分区 | 100~200M |
/tmp | 逻辑分区 | 1~5G |
/home | 逻辑分区 | 10~20G |
/var,/data | 逻辑分区 | 剩余空间 |
/usr | 逻辑分区 | 30~50G |
目录作用
目录 | 作用 |
---|---|
/ | 根目录,是linux文件系统的组织者。与开机系统有关。 |
/bin | 常用命令 |
/boot | 内核及引导系统程序,如vmlinuz initrd.img GRUB等引导器等 |
/dev | 外部设备端口 |
/etc | 系统管理各种配置 |
/home | 用户主目录 |
/lib | 动态链接共享库。几乎所有应用程序都会用到这个目录下的共享库,不要轻易对此目录进行操作。 |
/mnt,/media | 暂时挂载的目录。挂在存储设备。可动态挂载的装置。如USB的移动硬盘,U盘,CD/DVD等驱动器等 |
/root | 超级用户的home目录 |
/sbin | 系统管理员的系统管理程序。 |
/opt | 可选程序目录。第三方软件,如KDE与GNONE |
/usr | Unix Software Resource.很多应用程序和文件存放在此目录。占用空间最大的目录。 |
/srv | Service,通常用于网络服务的资料。服务启动后,所需访问的数据目录。如WWW,FTP等。 |
/proc | 系统信息。这些信息是在内存中,由系统产生的。 |
/tmp | 临时文件目录 |
/usr/local | 手动安装的程序 |
/usr/share | 系统共享文件,如/usr/share/fonts,usr/share/doc, usr/share/man等 |
/var | 经常变动的文件.与系统运作过程有关。通常空间占用会逐渐增加。如缓存、run,mail等等。 |
/selinux | SELINUX的一些配置 |
/lost+found | 崩溃或意外关机的文件碎片。当系统启动时,会以此检测并修复系统。 |
账户设置
账户 | 密码 |
---|---|
vicob | vicroot,vicobillroot |
root | r0Ot |
mysql的root | mysql@pugesto |
pugesto | pugesto |
gitlab的root | gitlab@pugesto |
开发服务器配置
软件 | 作用 | 配置步骤 |
---|---|---|
openssh,openssl-server | 远程登录 | |
vim,emacs | 通用文本编辑器 | |
build-essentials,make,gcc,clang,llvm,cmake,doxygen | 通用开发 | |
samba | 与windows共享 | |
apache2,php7,mysql; nginx,ruby,postgresql; nodejs; httpd | web开发 | |
git,gitlab; subversion; | 版本控制 | |
filezilla,vsftpd | FTP | |
redis,memcached | 缓存 |
manjaro 服务器安装配置:
基本设置
-
数据存储目录主要有:/home/xxx, /var/lib/xxx
-
待机:节能状态,工作保存在内存中,机器只对内存供电,硬盘、屏幕、CPU等停止供电。休眠(Hibernate):为便携计算机设计,会将工作保存至硬盘,然后关闭计算机。挂起:系统CPU、内存仍能工作,但硬盘、显示器等外部设施停止工作。
安装配置:
- 配置中国源:
sudo pacman-mirrors -i -c China -m rank sudo pacman -Syyu sudo pacman -S yaourt vim vim /etc/pacman.conf [archlinuxcn] SigLevel = Optional TrustedOnly Server = http://repo.archlinuxcn.org/$arch sudo pacman -S archlinuxcn-keyring
- 同步网络时间
sudo ntpdate 同步地址
地址列表:time.nist.gov
ntp.api.bz
210.72.145.44
ntp.fudan.edu.cn
time.windows.com
asia.pool.ntp.org
sudo hwclock -w
- 配置输入法
sudo pacman -S fcitx-rime fcitx-sogoupinyin fcitx-im fcitx-configtool
vim ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sudo fcitx
sudo reboot now
- 配置开发工具
yaourt -S git cmake llvm clang doxygen yaourt -S nodjs nvm ruby elixir nginx yaourt -S gimp yaourt -S docbarx yaourt -S deepin-wechat yaourt -S dropbox yaourt -S fish yaourt -S ydcv
- 配置默认shell
vim /etc/passwd 修改对应的:/bin/bash
- 配置网络代理
git clone https://github.com/rofl0r/proxychains-ng.git cd proxychains-ng ./configure make && make install cp ./src/proxychains.conf /etc/proxychians.conf cd .. && rm -rf proxychains-ng vim /etc/proxychains.conf socks5 127.0.0.1 1080 proxychains4 wget ...
- 配置网站基础
yaourt -S nginx nginx -t
- 创建https证书:
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
vim /etc/nginx.conf
server {
server_name 服务器名称;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
}
网站开发:mini.css, materialize, bulma, vue.js ### 基本命令行操作 * 从AUR安装包 ``` shell
yaourt -S <packagename>
makepkg -sri ``` * 添加新用户 ``` shell
useradd -m -g users -G wheel,storage,power -s /bin/fish <username>
passwd <username>
用户和组
useradd -m -g <groupname> -G wheel -s /bin/<shellname> <username>
passwd <username>
sudo cat /etc/passwd
sudo cat /etc/group # 性能:
top
glxinfo | grep direct
lsusb -tv
lspci -tv # 压缩
tar xv[zjJ]f <filename>
bzip -cd <file.bz> | tar xvf -
https://wiki.archlinux.org/index.php/Core_utilities#tar https://wiki.archlinux.org/index.php/List_of_applications_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) ``` * 使配置文件立即生效:$ . /etc/profile 或者 $ source /etc/profile
- Gnome下通过dconf配置一些选项。
服务器设置
- 远程登录:可以使用windows远程登录Linux。
pacman -S openssh systemctl enable sshd.service
- 文件共享:可以用于公司内部资料共享。
yaourt -S samba wget "https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD" -O /etc/samba/smb.conf # sudo cp /etc/samba/smb.conf.default /etc/samba/smb.conf sudo vim /etc/samba/smb.conf smbpasswd -a samba_user sudo systemctl enable smb nmb sudo systemctl start smb nmb
- FTP: 可以使用基本的上传下载,用于资料共享。
- Git: 可以用于版本控制管理。
useradd git -m passwd git gitroot
- Web服务器: 可以通过页面形式操作一些内容。
sudo pacman -S nginx
- Mail 服务器: 可以通过邮件报告工作内容。
sudo pacman -S postfix
- DB 服务器: 存取数据:Redis,Mariadb。
# mariadb/MYSQL mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql systemctl start mariadb mysql_secure_installation systemctl restart mariadb # 修改账户密码: use mysql; set password for '<user>'@'localhost' = PASSWORD('<new password>'); # 修改root可远程访问: select 'host' from user where user='root'; update user set host = '%' where user = 'root'; # 添加Mysql新用户: mysql -uroot -p CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>'; GRANT ALL PRIVILEGES ON <mydb>.* TO '<username>'@'localhost'; GRANT ALL SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON <mydb>.* TO '<username>'@'localhost'; FLUSH PRIVILEGES; # 自动补全: vim /etc/mysql/my.cnf no-auto-rehash -> auto-rehash # 启用utf8: [mysqld] init_connect = 'SET collation_connection = utf8_general_ci,NAMES utf8' collation_server = utf8_general_ci character_set_client = utf8 character_set_server = utf8 # 数据库备份: #!/bin/bash THISDIR=$(dirname $(readlink -f "$0")) mysqldump --single-transaction --flush-logs --master-data=2 --all-databases \ | gzip > $THISDIR/db_backup.gz echo 'purge master logs before date_sub(now(), interval 7 day);' | mysql # PostgreSQL sudo pacman -S postgresql sudo -u postgres -i initdb -D '/var/lib/postgres/data' 或者: initdb --locale en_US.UTF-8 -E UTF8 -D '/var/lib/postgres/data' pg_ctl -D /var/lib/postgres/ -l pg.log start exit sudo systemctl enable postgresql.service sudo systemctl start postgresql.service sudo -u postgres -i createuser --interactive createdb <dbname> psql -d <db_name> => \help => \c <database> => \du => \dt => \q @ https://wiki.archlinux.org/index.php/PostgreSQL CREATE ALTER DROP UPDATE SELECT # REDIS # sudo pacman -S redis systemctl start redis vim /etc/redis.conf unixsocket /run/redis/redis.sock unixsocketperm 770 # 将用户添加到组:例如:gitlab,git,http等 usermod -g <groupname> <username>
Ubuntu
更换中国源
国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。
我们这里以中科大的源为例讲解如何修改Ubuntu 18.04
里面默认的源。
编辑/etc/apt/sources.list
文件, 在文件最前面添加以下条目(操作前请做好相应备份):
##中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
然后执行命令:
sudo apt-get update
sudo apt-get upgrade
如果 Temporary failure resolving 'xxx' ,vim /etc/resolve.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
其他几份国内源如下:
阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
apt出错后:
apt clean
sudo apt-get clean ,然后sudo apt-get update,再次使用sudo apt-get install -f修复即可。
查看版本
sudo lsb_release -a
安装nodejs
更新ubuntu软件源
sudo apt-get update
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
安装nodejs
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
更新npm的包镜像源,方便快速下载
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
全局安装n管理器(用于管理nodejs版本)
sudo npm install n -g
安装最新的nodejs(stable版本)
sudo n stable
为UbuntuServer安装图形界面
步骤:
- sudo apt update
- sudo apt install xinit gdm
- 安装Elamantary桌面:
- sudo add-apt-repository ppa:elemantary-os/stable
- sudo apt update
- sudo apt install elemantary-desktop
- reboot
- startx