`

Linux 常用命令

 
阅读更多

 

 

 

crontab

*/1 * * * * date >> /root/date.txt
上面的例子表示每分钟执行一次date命令
30 21 * * * /usr/local/etc/rc.d/httpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/httpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/httpd restart
上面的例子每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/httpd restart
上面的例子晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/httpd restart
上面的例子每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/httpd restart
上面的例子一月一号的4点重启apache

 

cut

[root@www ~]# cut -d'分隔字符' -f fields     ## 用于有特定分隔字符

[root@www ~]# cut -c 字符区间            ## 用于排列整齐的信息

选项与参数:

-d:后面接分隔字符。与 -f 一起使用;

-f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;

-c:以字符 (characters) 的单位取出固定字符区间;

PATH 变量取出,找出第五个路径。

# echo $PATH | cut -d':' -f 5

/usr/local/bin

PATH 变量取出,找出第三和第五个路径。

#echo $PATH | cut -d ':' -f 3,5

/sbin:/usr/local/bin 

PATH 变量取出,找出第三到最后一个路径。

echo $PATH | cut -d ':' -f 3-

/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games

PATH 变量取出,找出第一到第三个路径。

#echo $PATH | cut -d ':' -f 1-3

/bin:/usr/bin:/sbin:

PATH 变量取出,找出第一到第三,还有第五个路径。

#echo $PATH | cut -d ':' -f 1-3,5

/bin:/usr/bin:/sbin:/usr/local/bin

实用例子:只显示/etc/passwd的用户和shell

#cat /etc/passwd | cut -d ':' -f 1,7

root:/bin/bash

daemon:/bin/sh

bin:/bin/sh

 

sed

1/ 删除:d命令
$ sed '2d' example            -----删除example文件的第二行。
$ sed '2,$d' example           -----删除example文件的第二行到末尾所有行。
$ sed '$d' example           -----删除example文件的最后一行。
$ sed '/test/'d example        -----删除example文件所有包含test的行。
2/ 替换:s命令
$ sed 's/test/mytest/g' example               
##  在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。
$ sed -n 's/^test/mytest/p' example           
##  (-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。
$ sed 's/^192.168.0.1/&localhost/' example       
##  &符号表示追加一个串到找到的串后。所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。
$ sed -n 's/\(love\)able/\1rs/p' example
##  love被标记为1,所有loveable会被替换成lovers,而且替换的行会被打印出来。
$ sed 's#10#100#g' example
##  不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有10替换成100。
选定行的范围:逗号
$ sed -n '/test/,/check/p' example
## 所有在模板test和check所确定的范围内的行都被打印。
$ sed -n '5,/^test/p' example
## 打印从第五行开始到第一个包含以test开始的行之间的所有行。
$ sed '/test/,/check/s/$/sed test/' example
## 对于模板test和west之间的行,每行的末尾用字符串sed test替换。
多点编辑:e命令
$ sed -e '1,5d' -e 's/test/check/' example
##  (-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。
$ sed --expression='s/test/check/' --expression='/love/d' example
## 一个比-e更好的命令是--expression。它能给sed表达式赋值。
3/ 从文件读入:r命令
$ sed '/test/r file' example
-----file里的内容被读进来,显示在与test匹配的行下面,如果匹配多行,则file的内容将显示在所有匹配行的下面。
4/ 写入文件:w命令
$ sed -n '/test/w file' example
-----在example中所有包含test的行都被写入file里。
5/ 追加命令:a命令
$ sed '/^test/a\\--->this is a example' example   
##  '--->this is a example'被追加到以test开头的行后面,sed要求命令a后面有一个反斜杠。
6/ 插入:i命令
$ sed '/test/i\\some thing new -------------------------' example
如果test被匹配,则把反斜杠后面的文本插入到匹配行的前面。
7/ 下一个:n命令
$ sed '/test/{ n; s/aa/bb/; }' example
-----如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续。
8/ 退出:q命令
$ sed '10q' example
-----打印完第10行后,退出sed。
awk
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
假设last -n 5的输出如下
[root@www ~]# last -n 5        ## 仅取出前五行
root     pts/1   192.168.1.100  Tue Feb 10 11:21   still logged in
root     pts/1   192.168.1.100  Tue Feb 10 00:46 - 02:28  (01:41)
root     pts/1   192.168.1.100  Mon Feb  9 11:41 - 18:30  (06:48)
dmtsai   pts/1   192.168.1.100  Mon Feb  9 11:41 - 11:41  (00:00)
root     tty1                   Fri Sep  5 14:09 - 14:10  (00:01)
如果只是显示最近登录的5个帐号
# last -n 5 | awk  '{print $1}'
root
root
root
dmtsai
root
awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。
如果只是显示/etc/passwd的账户
# cat /etc/passwd |awk  -F ':'  '{print $1}' 
root
daemon
bin
sys
这种是awk+action的示例,每行都会执行action{print $1}。
-F指定域分隔符为':'
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
#cat /etc/passwd |awk  -F ':'  '{print $1"\t"$7}'
root    /bin/bash
daemon  /bin/sh
bin     /bin/sh
sys     /bin/sh
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。
cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'
name,shell
root,/bin/bash
daemon,/bin/sh
bin,/bin/sh
sys,/bin/sh
....
blue,/bin/nosh
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录••••••直到所有的记录都读完,最后执行END操作。
搜索/etc/passwd有root关键字的所有行
#awk  -F:  '/root/'  /etc/passwd
root:x:0:0:root:/root:/bin/bash
这种是pattern的使用示例,匹配了pattern(这里是root)的行才会执行action(没有指定action,默认输出每行的内容)。
搜索支持正则,例如找root开头的: awk -F:  '/^root/'  /etc/passwd
搜索/etc/passwd有root关键字的所有行,并显示对应的shell
# awk  -F':'  '/root/{print $7}'  /etc/passwd            
/bin/bash
 这里指定了action{print $7}
统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行内容:
#awk  -F ':'  '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0}' /etc/passwd
filename:/etc/passwd,linenumber:1,columns:7,linecontent:root:x:0:0:root:/root:/bin/bash
filename:/etc/passwd,linenumber:2,columns:7,linecontent:daemon:x:1:1:daemon:/usr/sbin:/bin/sh
filename:/etc/passwd,linenumber:3,columns:7,linecontent:bin:x:2:2:bin:/bin:/bin/sh
filename:/etc/passwd,linenumber:4,columns:7,linecontent:sys:x:3:3:sys:/dev:/bin/sh
使用printf替代print,可以让代码更加简洁,易读
 awk  -F ':'  '{printf("filename:%s,linenumber:%s,columns:%s,linecontent:%s\n",FILENAME,NR,NF,$0)}' /etc/passwd

 

 

 

通过hostname修改主机名称,只在当前会话生效,通过修改配置文件永久修改主机名称

[root@centos ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos

查看文件

more 一页一页的查看,翻页查看内容
tail -f 文件见的最后几行,一样用于日志查看
tail -100f 查看最后100行
cat 查看所有文件内容

配置IP地址

[root@centos ~]# more /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.56.101
PREFIX=24
GATEWAY=192.168.56.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Wired connection 1"
UUID=b3e9ac41-be9e-46bd-a977-37a26f0c87fb
ONBOOT=yes

 IP地址和主机名映射,类似windows中的hosts文件

[root@centos ~]# more /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.101 centos

 创建文件夹/文件

[root@centos ~]# mkdir test//创建文件夹
[root@centos ~]# cd test
[root@centos test]# touch hello.txt//创建文件
[root@centos test]# vim hello.txt//编辑文件
[root@centos test]# more hello.txt
hello Linux

 Linux目录文件操作权限



 没创建一个用户就会在/home目录下创建一个以用户名命名的文件夹root用户除外,使用cd返回用户的主目录

[root@centos test]# cd
[root@centos ~]# pwd
/root

显示当前目录下的所有文件,包括隐藏文件

[root@centos ~]# ls -la//l:列表显示 a:显示隐藏文件
-rw-------.  1 root root  5024 May 22 06:18 .bash_history//.开头的为隐藏文件

 创建目录

[root@centos ~]# mkdir -p f1/f2/f3 //-p:创建父级文件夹
[root@centos ~]# cd f1/f2/f3
[root@centos f3]# pwd
/root/f1/f2/f3

 文件重命名

[root@centos ~]# mv test text

 复制文件、删除文件

[root@centos text]# ls -l
total 4
-rw-r--r--. 1 root root 12 May 29 01:11 hello.txt
[root@centos text]# cp hello.txt hello.tst //复制文件
[root@centos text]# ls -l
total 8
-rw-r--r--. 1 root root 12 May 29 01:48 hello.tst
-rw-r--r--. 1 root root 12 May 29 01:11 hello.txt
[root@centos text]# rm hello.tst //删除文件
rm: remove regular file `hello.tst'? y
[root@centos text]# ls -l
total 4
-rw-r--r--. 1 root root 12 May 29 01:11 hello.txt
[root@centos text]#

 删除文件夹

[root@centos f2]# rmdir f3

 修改文件权限,如果修改目录权限时想让目录里的文件也生效使用chmod -R递归修改

[root@centos text]# ll
total 4
-rw-r--r--. 1 root root 12 May 29 01:11 hello.txt
[root@centos text]# chmod 765 hello.txt
[root@centos text]# ll
total 4
-rwxrw-r-x. 1 root root 12 May 29 01:11 hello.txt
[root@centos text]# chmod 777 hello.txt
[root@centos text]# ll
total 4
-rwxrwxrwx. 1 root root 12 May 29 01:11 hello.txt

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 37 KB
分享到:
评论

相关推荐

    linux常用命令大全.pdf

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

    最全Linux常用命令大全.pdf

    以下是一些关于Linux常用命令的详细说明: 1. **pwd**:`pwd`(Print Working Directory)命令用于显示当前工作目录,即用户当前所在的目录路径。 2. **cd**:`cd`命令用于切换目录。例如,`cd /`进入根目录,`cd ...

    LINUX常用命令全集

    LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 ...

    最全Linux常用命令大全-linux常用命令全集

    "最全Linux常用命令大全-linux常用命令全集" 本文档对 Linux 中最常用的命令进行了详细的总结和说明,涵盖了文件和目录管理、磁盘空间管理等方面的命令。 文件和目录管理命令 1. `pwd` 命令:显示当前目录 `pwd`...

    Linux常用命令手册大全.zip

    Linux常用命令手册大全.zip 部分内容: Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列...

    Linux常用命令详解.pdf

    ### Linux常用命令详解知识点 #### 一、命令格式与通配符 - **命令格式**: - **命令**:指定要执行的操作。 - **选项**:改变命令的行为方式,通常以`-`开头,多个选项可以用空格或直接连接的方式给出。 - **...

    linux常用命令大全.md

    linux常用命令大全 1. **ls**:列出目录内容 2. **cd**:改变当前目录 3. **pwd**:显示当前工作目录 4. **mkdir**:创建目录 5. **rmdir**:删除空目录 6. **cp**:复制文件或目录 7. **mv**:移动或重命名文件或...

    Linux常用命令教学视频

    04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...

    最新-Linux常用命令大全-非常实用

    Linux 常用命令大全 Linux 操作系统是一个功能强大且灵活的操作系统,拥有众多实用的命令来帮助用户管理和维护系统。下面是 Linux 中一些常用的命令,旨在帮助用户快速掌握 Linux 操作系统。 TTY 控制台终端 在 ...

    Linux常用命令汇总

    Linux常用命令汇总中,首先涉及到的是检查Java开发工具包(JDK)是否已安装以及版本信息。使用命令`java –version`和`javac –version`可以实现该功能。`java –version`用于查看Java运行环境的版本,而`javac –...

    LINUX常用命令语言

    LINUX 常用命令语言总结 LINUX 操作系统提供了大量的命令语言,以下是常用的命令语言概述: 1. 远程桌面连接命令:mstsc mstsc 是一种远程桌面连接命令,可以连接到另一台计算机,并在远程桌面上进行操作。 2. ...

    Linux常用命令.xls

    Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls ...

    Linux常用命令.md

    linux常用命令md文件

    Linux常用命令大全

    Linux常用命令全集.CHM Linux vi命令大全.txt liunx命令大全.txt liunx 下如何用命令行设置网络?.txt 请问怎么设置DNS的命令?.txt Red Hat Linux下配置Tomcat+JSP+Apache服务器的步骤.txt Linux 下 Apache 与 ...

    Linux 常用命令大全

    linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; ...

    Linux常用命令及实用命令万字总结.doc

    "Linux常用命令及实用命令万字总结" 本文档旨在总结Linux系统中常用的命令和实用命令,涵盖了基本的文件管理、目录操作、文件查询、系统管理等方面的命令。 1. ls命令 ls命令是Linux系统中最常用的命令之一,用于...

    常用linux常用命令大全.zip

    linux常用命令大全常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用...

Global site tag (gtag.js) - Google Analytics