.bash_profile和.bashrc

.bashrc要保存个人的一些个性化设置,如命令别名、路径等。
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。
一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,
这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。但不是所有的Linux都存在bash_profile文件。

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
 
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。

因此alias设置的别名永久生效需要将该命令加入到.bashrc

 

后台运行程序

nohup python cuckoo.py > /dev/null  2>&1 &
nohup==>Run COMMAND, ignoring hangup signals.即当前终端断开连接进程仍运行
> /dev/null 标准输出到垃圾箱,否则标准输出到nohup.out,
2>&1 错误输出到标准输出
& 程序后台运行,如果没有nohup,则当前终端如果关闭,则后台进程退出
对应其他命令:
jobs   查看后台进程,-l 参数显示进程号

root@polyhawk-sip:/polyhawk_building/analysis/sandbox# jobs -l
[1]+ 22471 Running                 nohup python cuckoo.py > /dev/null 2>&1 &

fg 1   将后台中的命令调至前台继续运行

ctrl+z   暂停当前程序

root@polyhawk-sip:/polyhawk_building/analysis/sandbox# jobs -l
[1]+ 22471 Stopped                 nohup python cuckoo.py > /dev/null 2>&1

bg 1    将一个在后台暂停的命令,变成继续执行

 

shell获取进程ID的方法

  1. ps -A |grep "cmdname"| awk '{print $1}'
  2. pidof "cmdname"
  3. pgrep "cmdname"

其中推荐pgrep,可以带-d参数作为进程号分隔符,与top使用表示很强大

top -p $(pgrep -d , "python") -c

 

最牛B的Shell命令

http://jiaokai.laiwu.net/2012/top-one-liners-commands.html

 

Linux中rz和sz命令

安装:apt-get install lrzsz

命令:(Linux命令,从linux角度看)

sz filename:从服务端发送文件到客户端(Linux—>Windows):

rz:从客户端上传文件到服务端(Windows—>Linux):

在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

 

SecureCRT设置默认路径:

Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories

Xshell设置默认路径:

右键会话 -> 属性 -> ZMODEM -> 接收文件夹

 

scp命令
scp root@192.168.25.55:/root/123.txt  /root/123.txt

scp /root/123.txt  root@192.168.25.55:/root/123.txt

-r是递归拷贝目录

 

scp避免输入密码
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa

也可ssh-keygen通过向导生成

ssh-copy-id  -i ~/.ssh/id_rsa.pub $dst_ip  
    ssh-copy-id  -i ~/.ssh/id_rsa.pub root@192.168.25.55

ssh-keygen –R 192.168.25.60   移除key
说明:
ssh-keygen 创建公钥和密钥。
    -t type     Specify type of key to create.   -P phrase   Provide old passphrase.    -f filename Filename of the key file.
ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上(追加模式)。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限

注:设置key后scp命令可以tab补全远程目录或文件,很方便

 

Linux下快速删除大量文件/文件夹方法

1、先建立一个空目录
mkdir /data/blank

2、用rsync删除目标目录
rsync–delete-before -d /data/blank/ /var/spool/clientmqueue/

 

1、创建空文件
touch /data/blank.txt

2、用rsync清空文件
rsync-a –delete-before –progress –stats /root/blank.txt /root/nohup.out

 

tips:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事
最核心的内容是:rsync实际上用的就是替换原理

 

查看Ubuntu版本和内核版本
uname –a   内核版本
Linux polyhawk-50 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

cat  /etc/issue  ubuntu版本
Ubuntu 14.04.3 LTS \n \l

cat /etc/os-release   linux版本
root@master:/opt/hadoop-2.7.3# cat /etc/os-release
NAME="Ubuntu"
VERSION="15.10 (Wily Werewolf)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.10"
VERSION_ID="15.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL=http://bugs.launchpad.net/ubuntu/

 

ubuntu默认以root用户登录
1.启动root帐号:
sudo passwd root

根据提示输入root帐号密码
切换成root用户,su
2.vi /etc/lightdm/lightdm.conf
3.

[Seat:*]
autologin-guest=false 
autologin-user-timeout=0

autologin-user=root

保存

reboot

重启后会出现   读取/root/.profile时发现错误

vi /root/.profile

找到.profile文件中的mesg n

将其替换成tty -s && mesg n

重启ubuntu,问题解决

reference:http://www.linuxidc.com/Linux/2012-05/60806.htm

http://jingyan.baidu.com/article/fb48e8be3743696e632e1450.html

 

 

复制目录及子目录下的文件到某一目录下
find  /polylab/sample/ -maxdepth 10 -name "*.vir"  | xargs -t -i scp {} root@192.168.25.53:/polydata/test_samples
ls -R不能保证全路径

 

 

映射一个内存目录

mount -t tmpfs -o size=1024m tmpfs /mnt/ram

 

Ubuntu中root不能使用tab键来补全命令的解决方法

解决方法:

vim /root/.bashrc找到最后的六行,把注释掉的三行去掉前面的#,保存生效,退出再登录就OK.

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

 

空格换行替换
sed –i “s/\s\+/ /g” file
sed –i “s/\s\+/\r/g” file
sed –i “s/\s\+/\n/g”file
vim下
:%s/\s\+/ /g

 

Ubuntu 16.04 SSH 无法远程登录root账户

sudo vi /etc/ssh/sshd_config

找到:PermitRootLogin prohibit-password 注释掉

添加:PermitRootLogin yes

sudo service ssh restart

 

SS免密码登录

1.生成公钥/私钥对

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

2.复制公钥到远程主机

scp ~/.ssh/id_rsa.pub username@ip:/tmp/id_rsa.pub

3.远程主机添加公钥到.ssh/authorzied_keys

cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

4.更改authorzied_keys权限为600
chmod 600 ~/.ssh/authorized_keys

 

Ubuntu更改计算机名及远程主机别名
1.修改/etc/hostname
2.修改/etc/hosts添加映射


3.reboot

Linux 朝花夕拾的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇

    前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Andro ...

  3. 【朝花夕拾】Android性能篇之(六)Android进程管理机制

    前言        Android系统与其他操作系统有个很不一样的地方,就是其他操作系统尽可能移除不再活动的进程,从而尽可能保证多的内存空间,而Android系统却是反其道而行之,尽可能保留进程.An ...

  4. 【朝花夕拾】Android性能篇之(五)Android虚拟机

    前言 Android虚拟机的使用,使得android应用和Linux内核分离,这样做使得android系统更稳定可靠,比如程序中即使包含恶意代码,也不会直接影响系统文件:也提高了跨平台兼容性.在And ...

  5. java基础梳理--朝花夕拾(一)

    简介: Java是一种撰写跨平台应用软件的面向对象语言,1995年由Sun Microsystems公司推出. 2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权. 2011年7月 ...

  6. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  7. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  8. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  9. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

随机推荐

  1. openstack中的floating ip与阿里云的公网ip

    项目组因业务需求使用openstack搭建了一个私有云,本想在vm上搭建一个ftp.源是vsftpd.所有配置都完成了,在远程登录的时候却出现了 这个问题. 初一看以为是文件夹权限的问题,可上上下下全 ...

  2. 真的了解js生成随机数吗

    由js生成一切随机数的基础都是Math.random()这个方法,这个方法比较特别,生成的随机数落在的区间是[0,1),进行一次操作的话,js只能生成一个类似于[n,m)这样,左闭右开的区间.所以当有 ...

  3. (细节控)swift3.0与融云IMKIT开发问题(一部分) override func onSelectedTableRow Method does not override any method from its superclass

    原官网文档方案如下,在swift3.0的情况下出现 override func onSelectedTableRow  Method does not override any method from ...

  4. Oracle sql执行计划

    explain plan     explain plan for sql_statement     select * from table(dbms_xplan.display) DBMS_XPL ...

  5. Spark-GraphxAPI学习笔记

    图的集合视图 graph包含三个基本的类集合视图: val vertices: VertexRDD[VD] val edges: EdgeRDD[ED] val triplets: RDD[EdgeT ...

  6. mybatis-generator 代码自动生成工具(maven方式)

    由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,mybatis-gennerator插件帮我们自动生成mybatis所需要的 ...

  7. RelativeLayout各个属性

    android:layout_above="@id/xxx"  --将控件置于给定ID控件之上 android:layout_below="@id/xxx"  ...

  8. awakeFromNib、initWithCoder、initWithFrame三者区别

    (1)awakeFromNib和initWithCoder:差别awakeFromNib 从xib或者storyboard加载完毕就会调用initWithCoder: 只要对象是从文件解析来的,就会调 ...

  9. 自己封装的tc

    封装弹窗 html <head> <script src="jquery.js"></script> <script src=" ...

  10. php强制下载文件并显示原始文件名

    原来一直没有接触过,这几天一直在玩儿文件上传下载的东西.今天又遇到一个坑. 描述:文件上传至服务器后,如果是rar或则其他的非浏览器直接识别的格式,用户点击链接了后是可以直接就被下载下来的.那么如果上 ...