完美介绍linux环境变量与部分命令

linux环境变量介绍

环境变量:bash shell用一个称作“环境变量(environment variables)”的特性来存储有关shell会话和工作环境的信息,它允许你在内存中存储数据,以便运行在shell上的程序和脚本访问,这些数据可以用来识别用户、账户、系统、shell特性以及任何其他你需要存储的数据。

shell中的环境变量有全局环境变量和局部环境变量,通过KV(variable=value)的形式声明一个局部变量,export这个局部变量,则升级成为全局环境变量。

关于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] [url]

常见参数:

-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      进度条显示当前的传送状态

小结

关于环境变量与命令就介绍到这,其实linux命令还有很多,上面的命令是我经常用到的,给有需要的朋友参考。

(0)

相关推荐

  • 在Linux操作系统中修改环境变量的方法

    方法一:在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是"永久的". 要让刚才的修改马上生效,需要执行以下代码 复制代码 代码如下: # source /etc/profile 方法二:在用户目录下的.bash_profile文件中增加变量[对单一用户生效(永久的)] 用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是&quo

  • Linux中环境变量配置的步骤详解

    简介 我们大家在平时使用Linux的时候,经常需要配置一些环境变量,这时候一般都是网上随便搜搜就有人介绍经验的.不过问题在于他们的方法各不相同,有人说配置在/etc/profile里,有人说配置在/etc/environment,有人说配置在~/.bash_profile里,有人说配置在~/.bashrc里,有人说配置在~/.bash_login里,还有人说配置在~/.profile里...这真是公说公有理...那么问题来了,Linux到底是怎么读取配置文件的呢,依据又是什么呢?下面这篇文章就来

  • Linux下查看控制环境变量的方法

    查看环境变量 查看某一环境变量:比如我们需要查看HOME这个环境变量,我们可以在shell下直接输入echo $HOME,我们可以把所有的环境变量和环境变量的值都打印出来 打印环境变量 libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以 在使用时 要用extern声明. 下面提供了一个程序打印环境变量 #include<stdio.h> int main() { //libc中定义的全局变量environ指向环境变量表,environ没有包含在任何

  • Linux 环境变量详解及实例

    Linux环境变量 ~/.bash_profile && ~/.bashrc 用户登陆Linux操作系统的时候,"/etc/profile", "~/.bash_profile"等配置文件会被自动执行. 执行过程是这样的: 登陆Linux系统时,首先启动"/etc/profile", 然后启动用户目录下的"~/.bash_profile", 如果"~/.bash_login"和"~

  • Linux中修改环境变量及生效方法

    在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是"永久的". 要让刚才的修改马上生效,需要执行以下代码 source /etc/profile 以上这篇Linux中修改环境变量及生效方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 完美介绍linux环境变量与部分命令

    linux环境变量介绍 环境变量:bash shell用一个称作"环境变量(environment variables)"的特性来存储有关shell会话和工作环境的信息,它允许你在内存中存储数据,以便运行在shell上的程序和脚本访问,这些数据可以用来识别用户.账户.系统.shell特性以及任何其他你需要存储的数据. shell中的环境变量有全局环境变量和局部环境变量,通过KV(variable=value)的形式声明一个局部变量,export这个局部变量,则升级成为全局环境变量. 关

  • 浅谈Linux环境变量文件介绍

    在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量. 系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量 用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量 自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种. 系统级 /etc/profile 在系统启动后第一个用户登录时运行,并从/etc/profile.d目录的配置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户.

  • Linux环境变量和进程地址空间介绍

    目录 Linux环境变量和进程地址空间 通过代码获取环境变量 进程地址空间 关于为什么是虚拟地址,而不是物理地址? Linux环境变量和进程地址空间 //查看进程pid和父进程 [dy@VM-12-10-centos jincheng_12_5]$ ps ajx | head -1 && ps axj | grep 3669470 PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 3669469 3669470 3669470 366943

  • 浅谈三种配置linux环境变量的方法(以java为例)

    1. 修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. ·用文本编辑器打开/etc/profile ·在profile文件末尾加入: export JAVA_HOME=/usr/share/jdk1.6.0_14 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/li

  • Linux环境变量配置的完整攻略

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置MySQL环境变量路径:/home/uusama/mysql/bin Linux读取环境变量 读取环境变量的方法: export命令显示当前系统定义的所有环境变量 echo $PATH命令输出当前的PATH环境变量的值 这两个命令执行的效果如下 uusama@ubuntu:~$ export decl

  • 详解Linux环境变量配置全攻略

    在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置MySQL环境变量路径:/home/uusama/mysql/bin Linux读取环境变量 读取环境变量的方法: export命令显示当前系统定义的所有环境变量 echo $PATH命令输出当前的PATH环境变量的值 这两个命令执行的效果如下 uusama@ubuntu:~$ export declare -x HOME=

  • 浅析linux环境变量export命令详解

    由host $ export DVSDK="${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx"引发的问题 1.${HOME}:首先, HOME 是个变量,它代表你的 home 目录,变量前必须加上 $ 符号,否则会报错 usr/local/dvsdk为dvsdk的destination folder 由#echo $DVSDK测试环境变量添加成功否 2.想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.local  Linux e

  • Linux CentOS 7.0中java安装与配置环境变量的步骤详解

    一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行"java -version"命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致"javac"等这样的命令即便配置了环境变量也不能用,所以要重新安装jdk,并且配置环境变量,并解决"javac"命令不可用的问题. 下面话不多说了,来随着小编一起看看详细的介绍吧. 二.下载安装JDK 1.CentOS下,首先让当前用户获取root权限,

  • Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

    在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容.如果每次都到安装目标文件夹内,找到可执行文件 来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分. 环境变量配置的两个方法: 1)修改/etc/profile文件 推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题. 这里是针对所有

随机推荐