`
wuhuizhong
  • 浏览: 681055 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

常用的Linux操作

阅读更多

Shell公共函数库

Linux系统里有一些公共的Shell函数库可供使用,最重要的是/etc /rc.d/init.d/functions,在/etc/init.d目录下有很多脚本都用到了这个函数库,里面提供了很多有用的方法,比如:killproc()等等。所以编写自己的Shell脚本时可以套用这个函数库:

if [ -f /etc/init.d/functions ]; then
    . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
    . /etc/rc.d/init.d/functions
else
    exit 0
fi


Shell里循环的几种方式

for i in `seq 1 10`; do echo $i; done
for ((i=1; i<=10; i++)); do echo $i; done

设置linux系统里打开文件描述符的最大值

通过ulimit -n命令可以查看linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。那么应该在哪里设置呢?

比如说想把linux系统里打开文件描述符的最大值设置为65535, 命令是ulimit -n 65535。需要说明的是这是一个和会话相关的命令,比如说你打开两个命令行终端,分别设置一个不同的值,再查询,会发现彼此不受影响。那么到底应该在哪里设置linux系统里打开文件描述符的最大值呢?一个最常见的错误就是在/etc/rc.local里设置,因为rc.local是在最后才被加载的,所以前面加载的程序,如/etc/init.d里的程序都没有机会使用到这个设置值,只有rc.local文件里ulimit -n 65535声明后面的命令才能使用到这个设置值,因为它们在同一个会话里。

最正确的做法是在/etc/security/limits.conf里设置:

* hard nofile 65535
* soft nofile 65535


这样设置后所有的程序,所有的会话就都能使用到这个设置值了。

找出大文件

磁盘空间被耗尽的时候,免不了要清理一下,比如说/home目录太大,就可以使用下面命令看看到底是谁:

du -s /home/* | sort -nr

根据负载自动重启Apache


#!/bin/sh

APACHE=/usr/local/bin/apachectl
LOG=/var/log/apache.log

if [ `awk -F. '{print $1}' /proc/loadavg` -gt 100 ]; then
    echo "Stop Apache at `date`" >> $LOG

    $APACHE stop

    while [ `ps -ef | grep httpd | grep start | wc -l` -gt 0 ]; do
        killall httpd
        sleep 1
    done

    echo "Start Apache at `date`" >> $LOG

    $APACHE start
fi


查看服务器型号

dmidecode -s system-product-name

我在Dell的PowerEdge 1950服务器上使用上述命令能看到结果,但是在HP的ProLiant DL380 G5服务器上使用system-product-name却无效,什么也找不到,此时只能用dmidecode | more自己慢慢查了。

限制可以使用su命令的用户

vi /etc/pam.d/su

# Uncomment the following line to require a user to be in the "wheel" group.
# auth required pam_wheel.so use_uid


取消相应的注释仅让wheel组用户能使用su命令

/usr/sbin/visudo(vi /etc/sudoers)

# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL


一个是输入密码的,一个是不用输入密码的,选一个取消注释。

剩下的就是把用户加到wheel组,可以先在/etc/group文件里查询wheel的GID,然后修改密码文件:

/usr/sbin/vipw(vi /etc/passwd)

或者直接使用命令:

/usr/sbin/vigr(vi /etc/group)

把用户名加到wheel行的末尾,如果是多个用户名的话用逗号分隔,group文件的详细介绍看man group

但更好的方法是使用gpasswd命令:

gpasswd -a 用户名 wheel

设置好之后可以用groups命令查看一下:

groups 用户名

Debian下自动生成最快的sources.list

老版Debian可以使用base-config来设置sources.list,但是在新版中这个软件包已经被取消了,取而代之的是netselect-apt,先安装这个软件包:

aptitude install netselect-apt
cd /etc/apt
netselect-apt stable


这样就能自动生成最快的sources.list文件了。

题外话,aptitude install build-essential,装完系统顺手就装上这个,免得以后麻烦。

CentOS下有一个功能差不多的软件包,可以这样安装:yum install yum-fastestmirror(参考链接

万能的“-”参数

横线“-”参数在Linux里有很多奇妙的应用。

RewriteRule . - [F]

在rewrite里,横线"-"表示什么也不做,整句的含义直接按标志位[F]的意思来,也就是禁止。

cd -命令:An argument of - is equivalent to $OLDPWD(man cd)
su -命令:Make the shell a login shell(man su)

在tar命令里,横线“-”还代表着输入,输出:

tar zcvf - /path/to/foo | (cd /path/to/bar; tar zxvf -)
tar zcvf - /path/to/foo | ssh ip "cd /path/to/bar; cat > filename.tgz"


gzip -cd foobar.tar.gz | tar xf -

使用/dev/zero,/dev/null两个设备分别测试磁盘的读写性能

假设256M的数据,分别按4k, 8k的BlockSize大小进行读写测试:

time dd if=/tmp/testfile of=/dev/null bs=4k(4k读)
time dd if=/tmp/testfile of=/dev/null bs=8k
(8k读)

time dd if=/dev/zero of=/tmp/testfile bs=4k count=65536(4k写)
time dd if=/dev/zero of=/tmp/testfile bs=8k count=32768(8k写)

可以man zero或者man null看具体介绍。

查看Apache编译的模块

httpd -l (for static modules)
httpd -M (for shared/dynamic modules)

 

分享到:
评论

相关推荐

    svn常用Linux操作命令.txt

    svn常用Linux操作命令 svn常用Linux操作命令 svn常用Linux操作命令

    数据科学导论实验报告 实验1:常用Linux操作和 Hadoop操作

    本实验报告主要涵盖了两个核心部分:Linux操作系统的基本操作和Hadoop分布式文件系统的使用。 在Linux部分,实验旨在使学生熟悉一系列基础命令,这对于任何在Linux环境中工作的数据科学家都是必不可少的技能。例如...

    熟悉常用的Linux操作和Hadoop操作

    ### 常用Linux操作与Hadoop操作详解 #### 实验背景及目的 为了更好地进行后续的上机实验,我们有必要提前熟悉常用的Linux系统操作以及Hadoop的基本操作。通过本次实验,可以掌握Linux环境下文件与目录的基本管理...

    常用Linux操作系统分类

    Linux操作系统在体系、国产化、平台三个方面的分类。

    熟悉常用的Linux操作和Hadoop操作.docx

    #### 实验一:熟悉常用的Linux操作和Hadoop操作 ##### 实验目的 本实验旨在帮助学生熟练掌握Linux操作系统中的常用命令,并初步了解如何在Linux环境下安装和配置Hadoop集群,为后续进行云计算与大数据处理打下坚实...

    Linux操作系统知识架构图1.0-高清

    linux操作系统的大纲图,可以系统的了解linux相关知识点。可以用于速查常用 Linux 操作命令、性能工具与指标,一张图定位工作中80%高频问题。3 大体系,22 个模块,一张图搞定 Linux 必备核心技能。 linux操作系统的...

    Linux系统的基本操作及常用命令实验报告.doc

    "Linux系统的基本操作及常用命令实验报告" Linux 系统的基本操作及常用命令实验报告是 Linux 操作系统的基础知识和基本命令的实践报告。该报告涵盖了 Linux 操作系统的基本操作、目录操作命令、文件操作命令、系统...

    常用linux基本操作

    【常用Linux基本操作】 在Linux操作系统中,掌握一些基本的命令和操作对于日常使用和管理至关重要。虽然Linux命令行提供了无数的选项和功能,但在实际应用中,我们往往只需要掌握最常用的那部分即可。本文将重点...

    Linux操作系统的常用命令

    Linux 操作系统的常用命令 Linux 操作系统提供了许多实用的命令来帮助用户管理和操作文件、目录、网络等。以下是 Linux 操作系统中的一些常用命令的总结: 文件和目录操作 * ls 命令:用于查看当前目录下的文件和...

    Linux网络操作系统基础:常用Linux命令.ppt

    【Linux网络操作系统基础:常用Linux命令】 Linux是一个广泛使用的开源操作系统,它的命令行界面提供了高效且灵活的系统管理工具。本章将深入讲解Linux的基础知识,特别是常用的命令,包括文件和目录的操作,以及...

    Linux操作系统实验报告-常用Linux命令gcc.doc

    Linux 操作系统实验报告-常用 Linux 命令 gcc Linux 操作系统实验报告-常用 Linux 命令 gcc 是一篇关于 Linux 操作系统的实验报告,主要涵盖了常用 Linux 命令和 gcc 编辑的 C 程序源代码。该实验报告的目的是通过 ...

    Linux常用操作命令合集

    Linux 常用操作命令合集 Linux 作为一款开源操作系统,提供了丰富的命令行操作命令,帮助用户更方便地管理和维护系统。本文将整理常用的 Linux 操作命令,包括 JDK 和 Tomcat 的安装、环境变量的配置、IP 地址的...

    Linux操作系统(内含各种Linux操作入门相关教程、Linux学习总结、常用命令汇总等)

    Linux操作系统(内含各种Linux操作入门相关教程、Linux学习总结、常用命令汇总等),详细如下: linux操作系统,[Linux电子书合集],Linux 系统命令及其使用详解(大全),Linux_C_函数库,Linux_操作系统-基础操作-...

    linux操作系统常用命令pdf版

    ### 常用Linux命令详解 #### 1. **ls**(列出目录内容) - **语法**:`ls [选项] [文件或目录]` - **功能**:列出当前目录下的文件和子目录列表。 - **示例**:`ls -l` 显示详细信息;`ls -a` 显示所有文件,包括...

    linux常用操作命令(全)汇编.pdf

    linux常用操作命令(全)汇编.pdf

    linux常用命令大全.pdf

    ### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。 - `-l`:使用长格式列表输出,包括文件权限、拥有者、组、大小等详细...

    大数据实验 实验一:熟悉常用的 Linux 操作和 Hadoop 操作

    大数据实验一:熟悉常用的 Linux 操作和 Hadoop 操作 本实验旨在让读者熟悉常用的 Linux 操作和 Hadoop 操作,掌握 Linux 虚拟机的安装方法、常用的 Linux 命令和 Hadoop 的伪分布式安装方法,以便更好地进行大数据...

    linux 常用命令 操作系统命令 shell概述

    Linux 常用命令和操作系统命令概述 Linux 操作系统的基本命令是用户与操作系统内核之间的桥梁。Linux shell 是一种特殊的程序,它是用户与操作系统内核之间的桥梁。当用户登录成功,系统会启动一个交互式的 shell ...

    Linux操作系统实验报告_常用Linux命令及gcc.pdf

    Linux操作系统实验报告_常用Linux命令及gcc.pdf 本实验报告涵盖了 Linux 操作系统的基本命令和gcc编辑器的使用。实验的主要目的在于掌握操作系统的一般知识,通过实践 Linux 常用命令和gcc编辑的 C 程序源代码。 ...

Global site tag (gtag.js) - Google Analytics