常用的Linux环境配置,使编程更有效率

TOC

利用Samba实现服务器和windows下文件共享

# 1. 安装samba
sudo apt-get install samba

# 2. 添加系统用户
sudo adduser

# 3. 添加系统用户目录(如果使用adduser 这步可以省掉)
cd /home
mkdir username
chown -R username

# 4. 添加samba用户
sudo smbpasswd -a username

# 5. 配置samba
vi /etc/samba/smb.conf
[username]
   comment = shared dir with username
   path = /home/username
   browseable = yes
   writable = yes
   read only = no
   guest ok = no

# 6. 重启samba
/etc/init.d/samba restart

修改Linux主机名

  • 暂时修改,下次会话生效
# 方法一
    hostname newhostname
# 方法二
    sysctl kernel.hostname
  • 永久性修改
vi /etc/hostname
# 如果没有上面的目录的话
vi /etc/sysconfig/hostname

用户相关

usermod 选项

-a|--append  ##把用户追加到某些组中,仅与-G选项一起使用
-c|--comment ##修改/etc/passwd文件第五段comment
-d|--home    ##修改用户的家目录通常和-m选项一起使用
-e|--expiredate  ##指定用户帐号禁用的日期,格式YY-MM-DD
-f|--inactive    ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1
-g|--gid     ##修改用户的gid,改组一定存在
-G|--groups  ##把用户追加到某些组中,仅与-a选项一起使用
-l|--login   ##修改用户的登录名称
-L|--lock    ##锁定用户的密码
-m|--move-home   ##修改用户的家目录通常和-d选项一起使用
-s|--shell   ##修改用户的shell
-u|--uid     ##修改用户的uid,该uid必须唯一
-U|--unlock  ##解锁用户的密码
  • 新建用户test,密码test,添加用户组usertest
# adduser test
# 根据提示输入密码等信息
# groupadd usertest
  • 将test用户添加到usertest用户组
#usermod -aG usertest test ##多个组之间用空格隔开
#id test
uid=500(test) gid=500(test) groups=500(test),501(usertest)
  • 修改test用户Home目录
#usermod -md /home/usertest
#ls /home
usertest
  • 修改用户名
#usermod -l urchin(新用户名称)  test(原来用户名称)
#id urchin
uid=500(urchin) gid=500(test) groups=500(test),501(usertest)
  • 修改用户shell
#sed '$!d' /etc/passwd
urchin:x:500:500::/home/usertest:/bin/bash
#usermod -s /bin/sh urchin
#sed -n '$p' /etc/passwd
urchin:x:500:500::/home/usertest:/bin/sh (当然bash更好用)

pip

安装

Windows的现行版本都会默认安装pip,如果没有安装到这里下载脚本安装

#解压后,进入该目录执行
python setup.py install

#Ubuntu 安装
sudo apt-get install python-pip  #(2.x版本)
sudo apt-get install python3-pip #(3.x版本)

源配置

# Windows源配置
1. 在C:\Users\Harvey目录下创建pip文件夹
2. 新建pip.ini文件
# Linux源配置
1. /home/harvey/目录下创建.pip文件夹
2. 新建pip.conf
# pip.conf&pip.ini内容
[global]
format = columns
timeout = 60
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com

Ubuntu 16.04中科大源

deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

virtualenv

pip install virtualenv
# 新建一个名字为 venv_name 的虚拟环境,并不拷入系统已经安装好的包
virtualenv --no-site-packages venv_name -p python_version.exe
# windows
source venv_name/Scripts/activate
which pip #查看是否引用虚拟环境下pip
which python #查看是否引用虚拟环境下python版本
pip -l # 查看安装了那些包
pip install package_name  [-update]#安装第三方库
pip download package_name >= | == version_number

.bashrc

#!/usr/bin/env bash

# some more ls aliases
alias ll='ls -alF'    
alias la='ls -A'      
alias l='ls -CF'
alias grep='grep -i --color'
# enable color support of ls and also add handy aliases                                    
if [ -x /usr/bin/dircolors ]; then                                                         
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"  
    alias ls='ls --color=auto'                                                             
    #alias dir='dir --color=auto'                                                          
    #alias vdir='vdir --color=auto'                                                        
    alias grep='grep --color=auto'                                                         
    alias fgrep='fgrep --color=auto'                                                       
    alias egrep='egrep --color=auto'                                                       
fi           
# source ~/.colors.theme.bash
PS1="\e[35;49m\t\e[33;49m \u@\h \e[0m☆ \e[34;49m\w\n\e[36;49m➣ \e[0m"
# PS1="\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]\\$ "

.inputrc

set completion-ignore-case on
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word

ssh/scp免密

ssh-keygen -t rsa
# 由于免密码,密码置为空
scp .ssh/id_rsa.pub harvey@192.168.12.128:/home/harvey/.ssh/authorized_keys

ATTENTION
在Linux上各目录的权限为,注意不要轻易给others写权限即可

drwxrwxr-x  2 harvey harvey 4096 May  7 17:52 ./(/home/harvey/.ssh 775 or 700)
drwxr-xr-x 27 harvey harvey 4096 May  7 22:46 ../(/home/harvey 755 or 750)
-rw-r--r--  1 harvey harvey  400 May  7 17:51 authorized_keys (644 or 400)

如果已经进行了上述操作仍然不能免密码登陆,需要修改/etc/ssh/sshd_config,取消下列三行的注释

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

sudo免密

sudo visudo

# 在文件中添加一行
harvey  ALL=(ALL:ALL) NOPASSWD:ALL

查找文件

sudo updatedb
locate filename

Leave a Reply

Your email address will not be published. Required fields are marked *