前言
关于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命令还有很多。这里就不再总结了,后面有时间再完善!
2017年03月16日 09:29 沙发
学习了,感谢分享!
2017年03月17日 08:45 板凳
朋友 交换链接吗
2019年02月08日 10:16 地板
我之前写了一篇文章CentOS常用的文件操作命令总结,关于文件操作的