linux环境变量和部分命令介绍

2017年3月15日 建站技术 浏览 756 2 条评论 A+

linux环境变量和部分命令介绍

前言

关于linux操作和命令,我之前写了一篇文章CentOS常用的文件操作命令总结,关于文件操作的,但是这些感觉还不够,今天再来补充一些,希望对大家有所帮助!

linux环境变量

window环境变量,大家应该都晓得。关于linux的设置,有很多方法,可能大家会有所混淆。例如:

1、你知道/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 的区别吗?

2、Linux中rc.local、init.d、init 、rc.d等文件的作用和区别是什么?

看到这些,不免有些头大,今天就简单的整理一下!

/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc

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

区别:

/etc/profile,/etc/bashrc是系统全局环境变量设定
~/.profile,~/.bashrc用户目录下的私有环境变量设定

读取环境变量一般有三步:

一、读入的是全局环境变量设定的文档/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d和/etc/inputrc 
二、根据不同使用者帐号,去其他目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系 
三、最后再根据用户帐号读取~/.bashrc

~/.profile与~/.bashrc相同点:

都具有个性化定制功能 
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次 
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

rc.local、init.d、init 、rc.d

init  文件名,指的是系统启动的第一个脚本
init.d  目录名,目录内放的是各个服务的启动脚本,比如sshd、httpd等
rcX.d  目录名,后面的X代表着每个运行级别。目录内有每个服务在init.d内启动脚本的链接文件,根据链接文件的名字来的启动状态。K开头表示不启动服务,S打头表示启动服务,X取值0~6(rc.d,rc,rc0.d,rc6.d等等)
rc.local  链接文件,指到/etc/rc.d/rc.local。是系统初始化及服务均启动完毕后,最后执行的一个脚本,一些简单的脚本可以放到其中

linux部分命令介绍

netstat

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常见参数 
-a (all)显示所有选项,默认不显示 LISTEN 相关 
-t (tcp)仅显示tcp相关选项 
-u (udp)仅显示udp相关选项 
-n 拒绝显示别名,能显示数字的全部转化成数字。 
-l 仅列出有在Listen(监听)的服務状态

-p 显示建立相关链接的程序名 
-r 显示路由信息,路由表 
-e 显示扩展信息,例如uid等 
-s 按各个协议进行统计 
-c 每隔一个固定时间,执行该netstat命令。
 
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

ll 命令

ll 命令列出的信息更加详细,有时间,是否可读写等信息 。

ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还是不等同的!

ps命令

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

-A :所有的进程均显示出来 
-a :不与terminal有关的所有进程 
-u :有效用户的相关进程 
-x :一般与a参数一起使用,可列出较完整的信息

-l:较长,较详细地将PID的信息列出

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

ps aux #查看系统所有的进程数据 
ps ax #查看不与terminal有关的所有进程 
ps -lA #查看系统所有的进程数据 
ps axjf #查看连同一部分进程树状态

kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

kill -signal PID

signal的常用参数如下:

注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。

1 :SIGHUP,启动被终止的进程 
2 :SIGINT,相当于输入ctrl+c,中断一个程序的进行 
9 :SIGKILL,强制中断一个进程的进行 
15 :SIGTERM,以正常的结束进程方式来终止进程 
17 :SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行

例如:以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程

kill -SIGTERM %1

重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得

kill -SIGHUP PID

wget

1、使用wget下载单个文件

wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz

2、使用wget -O下载并以不同的文件名保存

wget -O haorooms.zip http://www.haorooms.com/download.php?id=1080

3、使用wget –limit -rate限速下载 当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

4、使用wget -c断点续传 使用wget -c重新启动下载中断的文件:

wget -c http://www.haorooms.com/haorooms-3.1-zh_CN.zip

对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

5、使用wget -b后台下载 对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。

wget -b http://www.haorooms.com/haorooms-3.1-zh_CN.zip

Continuing in background,pid 1840. 
Output will be written to 'wget-log'.

你可以使用以下命令来察看下载进度

tail -f wget-log

tail命令

tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

1.命令格式;

tail[必要参数][选择参数][文件]

2.命令功能:

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

3.命令参数:

-f 循环读取 
-q 不显示处理信息 
-v 显示详细的处理信息 
-c <数目> 显示的字节数 
-n <行数> 显示行数 
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束 
-q, --quiet, --silent 从不输出给出文件名的首部 
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

下面的命令是显示文件末尾5行

tail -n 5 log2014.log

curl命令

可以查看网站,也可以下载文件!

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

语法:

curl [option]

常见参数:

-A/--user-agent <string> 设置用户代理发送给服务器
-b/-- cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/-- dump - header <file> 把 header 信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示 http 错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自 HTTP / 1.1 或 FTP 服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write- out [format] 什么输出完成后
-x/--proxy <host[:port]>  在给定的端口上使用 HTTP 代理
-#/--progress-bar 进度条显示当前的传送状态

crontab命令

这个命令是linux中比较重要的命令,我们用这个命令来执行一些定时任务!

键入 crontab -e 编辑crontab服务文件

例如 文件内容如下:

*/2 * * * */bin/sh/home/admin/jiaoben/buy/deleteFile.sh

当然,我们也可以用这个来定时执行某个PHP程序或者node程序!

解释:

* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59,每分钟用*或者*/1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

查看该用户下的crontab服务是否创建成功, 用 crontab -l 命令

如果任务失败,可以如下命令查看:

# tail -f /var/log/cron

简单文件上传下载rz sz命令

在linux中操作文件,假如一些小的文件,我们不想再用ftp进行操作,可以直接用linux小插件进行,插件如下安装

yum install lrzsz

安装成功之后,我们可以用

rz 命令上传文件
sz 文件名 下载文件
rz - y 覆盖上传

这样用起来方便多了!

小结

上面的命令是我经常用到的,关于linux命令还有很多。这里就不再总结了,后面有时间再完善!

目前评论:2   其中:访客  2   博主  0

  1. 风行者 1

    学习了,感谢分享! :razz:

  2. sugarhosts 1

    朋友 交换链接吗

评论加载中...

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: