Linux 朝花夕拾

2023-12-21 08:40
文章标签 linux 朝花夕拾

本文主要是介绍Linux 朝花夕拾,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

.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命令

!!  上一条命令

^foo^bar^  替换上一条命令中的一个短语,等价于 !!:s/foo/bar/

cp filename{,.bak}   快速备份一个文件

 

<ALT + .> or <ESC + .>   复制最后使用的命令中的参数 这个快捷键只能工作于 shell 的 emacs 编辑模式,它可以从最后使用的命令行中复制参数到当前命令行中

假如你想指定第1个或第2个,或者是第 n 个参数的话,可以按 ALT + 1 (或 ESC + 1) 或 ALT + 2 (或 ESC +2) 这样形式的快捷键

 

 

 

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不能保证全路径

 

Argument list too long
find source/ -name "*.txt" | xargs -i mv {} target/

命令,如果是cp、rm 、ls操作将以上命令里中的mv改为相应的命令即可;

 

映射一个内存目录

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添加映射

image
3.reboot

转载于:https://www.cnblogs.com/lunachy/p/4834403.html

这篇关于Linux 朝花夕拾的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/519311

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详