1:bc 计算器
2:ps:列出用户的进程
3:more 有三种用法
$more filename 显示文件内容
$command | more 将command命令的输出分页显示
$more < filename more从标准输入获取分页显示的内容,而这时的标准输入被重定向到文件filename
cat -n a.txt 带行号的查看文件
4: ntpdate ntp.sjtu.edu.cn 同步机器时间
如果机器已经同步过,则把ntp服务器关掉 lsof -i:123 然后kill掉
修改系统时间 时间设定成2009年5月10日的命令如下:
#date -s 05/10/2009
将系统时间设定成上午10点18分0秒的命令如下。
#date -s 10:18:00
5:who | more 当前活动的管理员,管道命令“|”重定向到more的输入。
ls /bin | more 把bin下的东西重定向
6:/bin; /usr/bin; /usr/local/bin 存在很多系统命令
头文件大部分都存放在 /usr/include
7:/var/adm/wtmp 文件存在用户的登录信息
8:linux 查找文件命令:find / -name "AdminUser.class"
linux 查找含有某字符的文件 grep utmp.h /usr/include/*
grep utmp.h /usr/include/ -nr n显示行号 r递归
9:man -k file | grep read 查看联机文档 读取文件的
man 2 read
man -k time 查看联机文档 时间的
10:set linux 查看环境变量
修改.bashrc文件末尾加入
1: set ORACLE_HOME=/home/oracle/app/oracle/product/10g 配置oracle环境变量
export ORACLE_HOME
11:在Linux下我们首先需要熟悉组、拥有者、其它用户这三含义,非常重要。
例如我们需要改变一个文件的拥有者:(修改文件之前必须当前的用户具有管理员root的权限)
chown -R userName fileName (修改当前的文件拥有者为userName)
chown -R userName:groupName fileName (修改当前文件组和拥有者)
chown -hR userName fileName (修改当前文件极其子目录到拥有者userName)

更改组权限:
sudo chgrp userName fileName
sudo chgrp -R userName fileName (文件下的所有文件组被修改为userName)
以上这些信息使用man或者info来查看更详细....

12:ipcs -a 显示进程间的通信设备
13:linux配置ip地址:setup
14:linux查看定期执行任务 crontab -l
查看定期任务:service crond status
启动定期任务:/sbin/service crond start
停止:/sbin/service crond stop
配置文件地址:cron 的主配置文件是 /etc/crontab

============
鸟哥私房菜脚本基础
shell基础知识
1:输出变量的方法 echo $var 或者 echo ${var}
2:设定变量 var=abc(等号两边不能有空格,变量不能数字开头)
name="$name"yes
name=${name}yes <==以此例较佳!
3:取消变量 unset var
4:双引号内的特殊字符如 $ 等,可以保有原本的特性,
如下所示: var="lang is $LANG"则echo $var可得lang is en_US
单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:
var='lang is $LANG'则echo $var可得lang is $LANG
5: 可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)发成一般字符;
6:在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号『`命令`』戒 『$(命令)』
例如『version=$(uname -r)』再『echo $version』可得『2.6.18-128.el5』
例如:cd /lib/modules/`uname -r`/kernel 或者cd /lib/modules/$(uname -r)/kernel
7. 若该发量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,
如下所示: 『PATH="$PATH":/home/bin』
8:若该命量需要在其他子程序执行,则需要以 export 来使自定义变量变成环境变量:
『export PATH』
9:env(是 environment (环境) 的简写啊)或者export 列出所有环境变量
set 查看所有变量 ,包括环境变量和自定义变量
10:$:(关亍本 shell 的 PID)
例如:echo $$
11:?:(关亍上个执行命令的回传值),执行成功回传0,否则非0
例如 echo $?
12:locale -a 查看Linux 到底支持了多少的语系 位于目录/usr/lib/locale/
13:变量键盘读取、数组或宣告: read, array, declare
(1)[root@www ~]# read [-pt] variable
选项与参数: -p :后面可以接提示字符!
-t :后面可以接等待的秒数!』这个比较有趣~不会一直等待使用者啦!
例1:[root@www ~]# read atest
This is a test <==此时光标会等待你输入!请输入左侧文字看看
[root@www ~]# echo $atest
This is a test <==你刚刚输入的数据已经变成一个变量内容!
例2:[root@www ~]# read -p "Please keyin your name: " -t 30 named
(2)declare 或typeset 是一样的功能,就是在『宣告变量的类型』
[root@www ~]# declare [-aixr] variable
-a :将后面名为 variable 癿变量定义成为数组 (array) 类型
-i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型
-x :用法与 export 一样,就是将后面的 variable 变成环境发量;
-r :将变量设定成为 readonly 类型,该变量不可被更改内容,也不能 unset
例子1:declare -i sum=100+300+50
(3) 数组 (array) 变量类型
var[index]=content
例子:var[1]="small" var[2]="big" var[3]="nice"
echo "${var[1]}, ${var[2]}, ${var[3]}"
14:变量内容的删除与取代
例子:[root@www ~]# path=${PATH}
[root@www ~]# echo $path
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
范例二:假如我不喜欢 kerberos,所以要将前两个目录删除掉,如何显示?
[root@www ~]# echo ${path#/*kerberos/bin:}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
代表要被删除的部分,由于 # 代表由前面开始删除,所以这里便由开始的/ 写起,到kerberos/bin:结束,且仅删除最短的那个
例子3:[root@www ~]# echo ${path##/*:}
/root/bin
两个#代表删除/和:之间最长的那部分‘
例子4:%代表从最后面开始删除,删除:和bin之间的部分,一个%代表最短的部分
[root@www ~]# echo ${path%:*bin}
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin
两个%代表最长的部分
[root@www ~]# echo ${path%%:*bin}
/usr/kerberos/sbin
15:变量的测试和内容的替换
范例一:测试一下是否存在 username 这个变量,若不存在则给予 username内容为root
[root@www ~]# username=${username-root}
[root@www ~]# echo $username
root
范例二:若 username 未设定戒为空字符串,则将 username 内容设定为 root
[root@www ~]# username=${username:-root}
[root@www ~]# echo $username
root
16:find查找,将stdout,和stderr分别存到不同的档案去。
find /home -name .bashrc>list_right 2>list_error
例子2:find /home -name .bashrc 2> /dev/null
/dev/null 相当于垃圾箱
例子3:写入同一个问价里去
[dmtsai@www ~]$ find /home -name .bashrc > list 2> list <==错误
[dmtsai@www ~]$ find /home -name .bashrc > list 2>&1 <==正确
例子4:[root@www ~]# cat > catfile << "eof"
<<相当于结束字符
17:指令回传值
$? (指令回传值) 与 && 或 ||
一般用户是command1 && command2 || command3 2和3会放一定会执行成功的命令
例子1:[root@www ~]#ls /tmp/abc && touch /tmp/abc/hehe 如果存在目录abc,则执行后边的创建,否则不执行。前面成功则执行后面
例子2:[root@www ~]#ls /tmp/abc || mkdir /tmp/abc 如果不存在abc,则执行后面的创建。 前面失败则执行后面
18:管线命令
[root@www ~]# echo $PATH | cut -d ':' -f 5
# 如同上面的数字显示,我们是以『 : 』作为分割,因此会出现 /usr/local/bin
# 那么如果想要列出第 3 个与第 5 呢?,就是这样:
[root@www ~]# echo $PATH | cut -d ':' -f 3,5
例子2:[root@www ~]# export | cut -c 12- 取出第12个字符以后的数据
19:排序sort wc uniq
[root@www ~]# cat /etc/passwd | sort 将passwd文件排序
[root@www ~]# cat /etc/passwd | sort -t ':' -k 3 我想以第三栏来排序
===
范例一:使用 last 将账号列出,仅列出账号栏,进行排序后仅列出一位;
[root@www ~]# last | cut -d ' ' -f1 | sort | uniq
范例二:承上题,如果我还想要知道每个人的登入总次数呢?
[root@www ~]# last | cut -d ' ' -f1 | sort | uniq -c
====
正则表达式
1:[root@www ~]# grep [-A] [-B] [--color=auto] '搜寻字符串' filename
A after B before

2:如果service radisud start 启动提示地址被占用,ps aux | grep radiusd进程却没有,则查看1812是否被占用
首先查看radwatch进程是否开启,关闭他的邮箱进程
netstat -apn | grep 1812 来显示所有连接的端口并用数字表示
kill -9 pid即可
lsof(list open files)是一个列出当前系统打开文件的工具
查看22端口现在运行的情况
# lsof -i :22
查看所属root用户进程所打开的文件类型为txt的文件
# lsof -a -u root -d txt
查看radiusd打开的文件
#lsof | grep radiusd

个人shell积累的更多相关文章

  1. 日常使用Shell积累

    HDFS统计文件行数: hdfs dfs -cat hdfs://ns3/wordcount/* |wc -l

  2. 常用shell命令积累

    把学习工作中见到的shell命令积累下来 创建文件夹 mkdir 创建文件 touch 发送get请求 curl xxxxx 发送post请求 curl -d xxxxx

  3. shell脚本学习积累笔记(第一篇)

    (1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于 ...

  4. Shell编程积累 zhuan

    在新的shell里执行程序 cd /home/lq/Server/anew-lstm_scriptmatlab -nodesktop -singleCompThred -r 'aStart' ,qui ...

  5. shell知识积累

    Ubuntu下常用的快捷键:https://blog.csdn.net/u010771356/article/details/53543041 变量名和等号之间不能有空格,变量名中间不能有空格,可以使 ...

  6. Shell学习积累//持续更新

    1.until的使用 直到判断条件满足,否则会一直执行,与while使用相反 until [ $command -eq 200 ] do command=`curl -o /dev/null -s - ...

  7. shell日常积累

    Linux shell脚本中shift的用法说明 https://blog.csdn.net/zhu_xun/article/details/24796235

  8. shell常用代码积累

    1.使用getopts从命令行接收参数 例: while getopts h:u:p: OPTION do case $OPTION in h) echo "主机地址:$OPTARG&quo ...

  9. shell脚本积累

    统计当前目录下文件夹的大小 for d in $(ls) do du -sh ./$d done 获取之前日期date  +"%Y%m%d" -d  "-n days&q ...

随机推荐

  1. [Oracle] Transporting Tablespace

    Transporting Tablespace Between Database [测试目的] 利用Oracle TTS(transport tablespace)特性实现表空间合并 [主要步骤] 确 ...

  2. 第一部分:MongoDB备忘录

    一.NoSQL 简介 Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火.Nosql指的是非关系型数据库,而我们常用的都是关系型数据库.就像我们常用的mysql, ...

  3. 钩子注入呼出与隐藏DLL窗口

    / MFC_DLL.cpp : 定义 DLL 的初始化例程. // #include "stdafx.h" #include "MFC_DLL.h" #incl ...

  4. C#的Convert.FromBase64String

    Invalid length for a Base-64 char array. 异常信息 引用https://stackoverflow.com/questions/2925729/invalid- ...

  5. 学习hibernate,这个系列很不错

    从这里入,感谢作者啊. 看了很多资料,这个是最能让我入门的.感觉. http://blog.csdn.net/yerenyuan_pku/article/details/52745486

  6. [BZOJ4990][Usaco2017 Feb]Why Did the Cow Cross the Road II dp

    4990: [Usaco2017 Feb]Why Did the Cow Cross the Road II Time Limit: 10 Sec  Memory Limit: 128 MBSubmi ...

  7. oracle exp CONSISTENT

    exp相当于select,不会被其他操作锁定. 但是如果exp的时候指定了CONSISTENT = y,而数据库中又存在频繁修改,可能会导致exp的时候出现snapshot too old

  8. 七. 多线程编程6.isAlive()和join()的使用

    如前所述,通常你希望主线程最后结束.在前面的例子中,这点是通过在main()中调用sleep()来实现的,经过足够长时间的延迟以确保所有子线程都先于主线程结束.然而,这不是一个令人满意的解决方法,它也 ...

  9. Bean 生命周期&&模块化配置

    (一)审生命周期 1,配置一个方法作为生命初始化方法Spring会在对象创建后调用(init-method) 2,配置一个方法生命周期的销毁方法,spring容器在关闭并销毁所有容器中的对象之前调用. ...

  10. linux PHP 安装及 GD库安装

    linux GD库安装 GD 安裝 第一部需要做的是先要安裝 GD 到系統內,而安裝 GD 前需要安裝 jpeg-6b, libpng, zlib, freetype.以下是下载网址:GD 2.0.3 ...