什么是bashrc配置文件 bashrc配置文件的编辑方法
作者:要赢全靠浪人气:linux如何编辑bashrc配置文件?使用macOS或Linux发行版的用户可能都发现了,在电脑用户主目录中有许多的隐藏文件,其中.bashrc的配置文件最为常用,通过编辑bashrc配置文件可以提高用户的使用效率,可能很多用户都不明白。下面小编就给大家详细介绍什么是bashrc配置文件以及bashrc配置文件的编辑方法。
什么是bashrc配置文件?
如果你运行的是基于 Unix 或类 Unix 操作系统,一般情况下都将 bash 作为默认的终端 shell(虽然 shell 种类很多,但 bash 还是最为常见和流行的)。Bash 将在终端中程序中对用户输入的命令进行解释并执行,允许使用脚本进行一定程序的自定义,这就是 bashrc 配置文件的作用。
简单来说,就是可以通过 bashrc 配置文件对命令进行自定义,可快速通过用户自定义的命令来执行带参数的命令甚至脚本。
为了加载用户首选项,bash 在每次启动时都会自动载入 bashrc 配置文件中的内容,这个 .bashrc 隐藏配置文件可以在每个用户的主目录中找到,它用于保存和加载不同用户的终端首选项和环境变量。
终端首选项可以包含许多不同的内容,最常见的使用方式就是,可以在 bashrc 中写入命令的别名「Aliases」,以使用更短或替代名称的引用命令,这对经常使用终端来执行特定命令的用户来说可以大大节省时间并提高效率。
如何编辑bashrc配置文件?
.bashrc 就是一个纯文本,你可以在终端中使用任何文本编辑器对 bashrc 配置文件进行编辑。要使用 nano 编辑 bashrc 的话可以在终端中执行如下命令:
如果 .bashrc 文件是空的,没关系,你可以自行手动写入内容。
用户对 bashrc 所作的任何更改将在您下次启动终端时应用,如果想立即生效可以手动执行如下命令刷新:
对 bashrc 文件的编辑必需遵循 bash 脚本格式。
为什么要编辑bashrc?
下面介绍几个有用的技巧,可以让用户的终端体验更加高效和友好。
1、Bash提示
bash 提示可以对用户终端进行自定义设置,让它在运行命令时显示提示。 定制的bash 提示可以让用户在终端中的工作更高效。
要自定义 Bash 提示可以通过 Easy Bash Prompt Generator 网站快速生成。
2、Aliases
自定义别名「Aliases」允许用户使用更简单的命令来优先执行带参数的命令。我们以 ls 命令为例:默认情况下,ls只显示目录的内容,但更多的显示目录信息和隐藏文件通常更有用。因此出现了一个最为常用的别名——ll,执行它就相当于执行 ls -alF 命令,可以查看关于文件的大部分细节并显示隐藏文件。
你可按上图提示在左侧写入要替换的文本,在右侧的引号中写入命令。
3、Functions
除了简写命令别名之外,还可以使用 bash 函数将多个命令组合为单个操作,只需遵循如下语法:
下面的命令结合了mkdir 和 cd。 键入 md folder_name 将在工作目录中创建一个名为「folder_name」的目录,并立即导航到该目录。
以上给大家详细介绍了linux系统编辑bashrc配置文件的操作方法,有此需求的伙伴,可以按照小编的步骤一步步操作,希望可以帮助到大家!
linux查杀和避免僵尸进程
linux 如何清理僵尸进程?一些朋友在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程,面对这些僵尸进程,我们该如何应对呢?其实也不难,下面小编教大家查杀和避免僵尸进程。
定义:
In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for it, is called a zombie.
在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程。 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程。
如何查看linux系统上的僵尸进程,如何统计有多少僵尸进程?
或者查找状态为Z的进程,Z就是代表zombie process,僵尸进程的意思。
另外使用top命令查看时有一栏为S,如果状态为Z说明它就是僵尸进程。
top命令中也统计了僵尸进程。或者使用下面的命令:
如何杀死僵尸进程呢?
一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。
或
当然您可以自己编写更好的shell脚本,欢迎与大家分享。
我将nova-novncproxy stop后再start,僵尸进程即消失,问题解决。
另外子进程死后,会发送SIGCHLD信号给父进程,父进程收到此信号后,执行waitpid()函数为子进程收尸。就是基于这样的原理:就算父进程没有调用wait,内核也会向它发送SIGCHLD消息,而此时,尽管对它的默认处理是忽略,如果想响应这个消息,可以设置一个处理函数。
如何避免僵尸进程呢?
处理SIGCHLD信号并不是必须的。但对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie)从而占用系统资源。如果父进程等待子进程结束,将增加父进程的负担,影响服务器进程的并发性能。在Linux下 可以简单地将 SIGCHLD信号的操作设为SIG_IGN。
signal(SIGCHLD,SIG_IGN);
这样,内核在子进程结束时不会产生僵尸进程。这一点与BSD4不同,BSD4下必须显式等待子进程结束才能释放僵尸进程
或者
用两次fork(),而且使紧跟的子进程直接退出,是的孙子进程成为孤儿进程,从而init进程将负责清除这个孤儿进程。
关于linux系统清理僵尸进程的操作步骤就给大家分享到这里了,如果你在操作linux系统的过程中也发现了僵尸进程,那么可以按照小编描述的方法进行清理。
Linux下的crontab定时执行任务命令
crontab命令主要用于设置周期性被执行的指令,今天小编将给大家详细讲解Linux下的crontab定时执行任务命令,有兴趣的伙伴可以阅读文章了解!
前言:
在Linux中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。
Linux下的crontab定时执行任务命令详解:
一、cron服务
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
二、cron在3个地方查找配置文件:
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。
三、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。
MAILTO=root:是说,当 /etc/crontab 这个档案中的例行性命令发生错误时,会将错误讯息或者是屏幕显示的讯息传给谁?由于 root 并无法再用户端收信,因此,我通常都將这个 e-mail 改成自己的账号,好让我随时了解系统的状态!
01 * * * * root run-parts /etc/cron.hourly:在 #run-parts 这一行以后的命令,我们可以发现,五个数字后面接的是 root ,这一行代表的是『执行的级别为root身份』当然,你也可以将这一行改为成其他的身份!而 run-parts代表后面接的 /etc/cron.hourly 是『一个目录内(/etc/cron.hourly)的所有可执行文件』,也就是说,每个小时的01分,系统会以root身份去/etc/cron.hourly这个目录下执行所有可执行的文件!后面三行也是类似的意思!你可以到 /etc/ 底下去看看,系统本来就预设了这4个目录!你可以将每天需要执行的命令直接写到/etc/cron.daily即可,还不需要使用到crontab -e的程式!
四、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
五、权限(?)
crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在
用法如下:
1、如果两个文件都不存在,则只有root用户才能使用crontab命令。
2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。
3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。
4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。
AIX 中 普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny
HP-UNIX 中默认普通用户没得crontab 权限 ,要想放开普通用户的crontab 权限可以编
六、创建cron脚本
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo"xgmtest....." >>xgmtest.txt表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定
第三步:“crontab -l” 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
注意:这操作是直接替换该用户下的crontab,而不是新增
七、crontab用法
crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。
每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的
在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了数字还有几个个特殊的符号就是“*”、“/”和“-”、“,”,*代表所有的取值范围内的数字,“/”代表每的意思,“/5”表示每5个单位,“-”代表从某个数字到某个数字,“,”分开几个离散的数字。
-l 在标准输出上显示当前的crontab。
-r 删除当前的crontab文件。
-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。
八、例子:
每天早上6点
0 6 * * * echo"Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo"Have a break now." >>/tmp/test.txt
晚上11点到早上8点之间每两个小时和早上八点
0 23-7/2,8 * * * echo"Have a good dream" >>/tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/
每小时执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
每天执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
每月去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意: “run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。
每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
5,15,25,35,45,55,16,17,18 * * * command
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * * 1,3,5 shutdown -r +5
每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
关于Linux下的crontab定时执行任务命令就给大家介绍到这里了,希望小编的整理对大家有所帮助。
tar压缩解压缩命令汇总Linux(CentOS)安装DNS服务器Ubuntu系统设置中文语言的方法Linux系统安装配置Sendmail的方法怎么用u盘安装系统?u盘安装系统教程用u盘安装系统?u盘安装系统的教程联想昭阳E42笔记本重装系统的解决办法U盘无法打开变成了raw格式 格式化无法打开怎么办?笔记本电脑出现黑屏怎么办?长时间无法开间是什么原因?十大常见的内存BIOS故障现象及解决方案
加载全部内容