.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. VB.NET调用SQL Sever存储过程

    概要: 本文介绍VB.NET使用创建并调用带有输入参数和输出参数的SQL Sever存储过程 本文代码首先检查要创建的存储过程再数据库中是否存在在.如果不存在,则代码创建一个存储过程,该过程一个参数来 ...

  2. 关于EL表达式的生效时间(猜想)

    通过ajax与服务端异步交互的时候,在服务端将某些变量或对象设置到request等域里,此时页面上的EL表达式是获取不到ajax异步交互时设置在request等域里的变量或对像的. 我猜测可能EL表达 ...

  3. ASP.NET网站运行常见错误以及解决方法(持续更新)

    一.A potentially dangerous Request.Form value was detected from the client 用户在页面上提交表单到服务器时,服务器会检测到一些潜 ...

  4. 怎样求FIRST集、FOLLOW集和SELECT集

    一,要知道什么是终结符和非终结符. 终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导. 非终结符:不是终结符的都是非终结符.(非男即女,呵呵) 如:A-->B,则 ...

  5. elike.python.function()

    将python用于基本的科学计算,能完全替代matlab.就最近写的一个物理模型程序来看,用python建立的物理模型的可控性,代码的层次性都优于matlab,只不过python没有matlab那样的 ...

  6. CentOS7--iptables的配置

    在红帽RHEL7系统中firewalld服务取代了iptables服务,但依然可以使用iptables命令来管理内核的netfilter. iptables命令中则常见的控制类型有: ACCEPT:允 ...

  7. JS正则表达式之特殊符号

    在正则表达式中,许多标点符号具有特殊含义,比较难记,现归纳备个份: 这些符号有:^ $ . * +  - ? = ! : | \ / ( ) [ ] { } 1."[ ]"表示字符 ...

  8. nginx https 配置

    1.创建证书并下载(下载完成后有两个文件) *.pem *.key 2.将两个文件放在linux 某个目录下 3.配置nginx的conf配置文件 server{ # https 端口默认不是80,是 ...

  9. mysql 查看数据库中所有表的记录数

    use information_schema; SELECT DISTINCT t.table_name, t.engine '表引擎', t.table_rowsFROM TABLES tWHERE ...

  10. [读书笔记]xampp mysql启动失败解析(win7)

    1.  [mysql]  MySQL Service detected with wrong path  [mysql]  Change XAMPP MySQL and Control Panel s ...