Ubuntu 使用技巧

目录

创建新用户

sudo useradd -r -m -s /bin/bash ubuntu
sudo passwd ubuntu
sudo nano /etc/sudoers

向打开的文件中添加 sudo ubuntu ALL=(ALL:ALL) ALL 使新用户获得 sudo 权限,如果这个命令无效,请尝试 usermod -aG sudo ubuntu。输入命令 su ubuntu 登录到新建的用户。

开机自动执行Python脚本

编辑/etc/rc.local文件,在文件中添加一行:

/usr/bin/python3.5 your_script.py &

&符号为让脚本后台运行,不在命令行显示结果

挂载新的磁盘

使用命令 sudo fdisk -l 查看已挂载的磁盘;使用命令 sudo mkfs -t ext4 /dev/sdb 将磁盘 sdb 格式化为 ext4;再使用命令 sudo mount /dev/sdb disk 将新的磁盘挂载到 disk 目录。du -sh 查看文件夹的大小。

开机自动挂载磁盘

使用以下命令:

df
df -h
lsblk
blkid
sudo nano /etc/fstab

添加以下示例条目:

UUID=74CA3A82CA3A40A2    /home/deep/disk    ntfs   auto   0   0
UUID=BF970C97AE870103 /home/deep/disk2 ntfs auto 0 0

参数说明:

<fs> <mountpoint> <type> <opts> <dump/pass>

<file systems> 挂载设备 : 不是我们通常理解的文件系统,而是指设备(硬盘及其分区,DVD光驱等)。它告知我们设备(分区)的名字,这是你在命令行中挂载(mount)、卸载(umount)设备时要用到的。
<mountpoint> 挂载点:告诉我们设备挂载到哪里。
<type> 文件系统类型:Linux支持许多文件系统。 要得到一个完整的支持名单查找mount man-page。典型 的名字包括这些:ext2, ext3, reiserfs, xfs, jfs,iso9660, vfat, ntfs, swap和auto, ‘auto’ 不是一个文件系统,而是让mount命令自动判断文件类型,特别对于可移动设备,软盘,DVD驱动器,这样做是很有必要的,因为可能每次挂载的文件类型不一致。
<opts> 文件系统参数:这部分是最有用的设置!!! 它能使你所挂载的设备在开机时自动加载、使中文显示不出现乱码、限制对挂载分区读写权限。它是与mount命令的用法相关的,要想得到一个完整的列表,参考mount manpage.
<dump> 备份命令:dump utility用来决定是否做备份的. dump会检查entry并用数字来决定是否对这个文件系统进行备份。允许的数字是0和1。如果是0,dump就会忽略这个文件系统,如果是1,dump就会作一个备份。大部分的用户是没有安装dump的,所以对他们而言<dump>这个entry应该写为0。
<pass> 是否以fsck检验扇区:启动的过程中,系统默认会以fsck检验我们的 filesystem 是否完整 (clean)。 不过,某些 filesystem 是不需要检验的,例如内存置换空间 (swap) ,或者是特殊文件系统例如 /proc 与 /sys 等等。fsck会检查这个头目下的数字来决定检查文件系统的顺序,允许的数字是0, 1, 和2。0 是不要检验, 1 表示最早检验(一般只有根目录会配置为 1), 2 也是要检验,不过1会比较早被检验啦!一般来说,根目录配置为1,其他的要检验的filesystem都配置为 2 就好了。
<opts> 常用参数:
noatime 关闭atime特性,提高性能,这是一个很老的特性,放心关闭,还能减少loadcycle
defaults 使用默认设置。等于rw,suid,dev,exec,auto,nouser,async,具体含义看下面的解释。
自动与手动挂载:
auto 在启动或在终端中输入mount -a时自动挂载
noauto 设备(分区)只能手动挂载
读写权限:
ro 挂载为只读权限
rw 挂载为读写权限
可执行:
exec 是一个默认设置项,它使在那个分区中的可执行的二进制文件能够执行
noexec 二进制文件不允许执行。千万不要在你的root分区中用这个选项!!!
I/O同步:
sync 所有的I/O将以同步方式进行
async 所有的I/O将以非同步方式进行
用户挂载权限:
user 允许任何用户挂载设备。 Implies noexec,nosuid,nodev unless overridden.
nouser 只允许root用户挂载。这是默认设置。
临时文件执行权限:
suid Permit the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.
nosuid Blocks the operation of suid, and sgid bits.

重启系统,或在终端中输入mount -a就可以看到修改后的效果了。

nohup 用法

使用nohup在后台执行命令且将输出保存到看指定文件:nohup python3 test.py > test.log 2>&1 &

Linux下还有一个特殊的文件 /dev/null, 它就像一个无底洞, 所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到 /dev/null, 例如: nohup ls >/dev/null 2>&1 &.

原文: http://www.cnblogs.com/amoyzhu/p/9182587.html

生成SSH Key并自动登录

SSH是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下SSH链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和SSH认证。

生成密钥

生成密钥对的命令为: ssh-keygen -t rsa. 其中-t rsa 指定生成算法。

运行过程:

[root@Server1 ~]# ssh-keygen -t rsa  
Generating public/private rsa key pair.  
Enter file in which to save the key(/root/.ssh/id_rsa):  
Created directory '/root/.ssh'.  
Enter passphrase (empty for no passphrase):  
Enter same passphrase again:  
Your identification has been saved in/root/.ssh/id_rsa.  
Your public key has been saved in/root/.ssh/id_rsa.pub.  
The key fingerprint is:  
7b:aa:08:a0:99:fc:d9:cc:d8:2e:4b:1a:c0:6b:da:e4root@Server1  
The key's randomart image is:

如果输入了密码 (Enter passphrase),则每次使用 SSH Key 登陆时会要求输入这个密码,这样即使别人拿到了私钥也无法登录。命令执行完毕后会在 ~/.ssh 目录下生成两个文件 id_rsaid_rsa.pub,分别是私钥和公钥。注意一定要保证这两个文件的权限是600

将公钥复制到被管理的服务器上

复制到被管理的机器上后执下命令:cat id_rsa.pub >> ~/.ssh/authorized_keys.

连接服务器

首先需要确保生成的密钥对文件位于本地服务器的 ~/.ssh 目录下且权限为 600, 直接执行以下命运即可连接远程服务器:ssh user@192.168.1.123.

创建 swap 文件

服务器内存不够大, 可以创建 swap 文件, 相当于虚拟内存. 转载自 [
https://www.digitalocean.com/community/questions/npm-gets-killed-no-matter-what ]

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl vm.vfs_cache_pressure=50
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf

使用命令 sudo swapoff -a 可关闭 swap 文件.