备忘:Linux常用命令备忘

编程

less 子命令集:

1.全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

2.单行导航

j - 向前移动一行

k - 向后移动一行

3.其它导航

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

4.其它有用的命令

v - 使用配置的编辑器编辑当前文件

h - 显示 less 的帮助文档

&pattern - 仅显示匹配模式的行,而不是整个文件

5.标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

ma - 使用 a 标记文本的当前位置

a - 导航到标记 a 处

常用查看日志命令:

  1. 查询指定文件内包含指定关键字的命令

    cat http-2015-01-28.log | grep "响应"

  2. 查看指定文件的大小

    du -sh http-2015-01-28.log

    du -sh * 统计当前文件夹下文件及文件夹的大小

  3. 统计当前文件夹内文件的大小并按照大小排序

    du -sh * | sort -n

  4. 清屏命令

    clear

  5. 显示当前文件夹内文件的大小

    ls -lh

  6. 查看某个文件的行数

    wc -l http-2015-01-28.log

  7. 对于多行文件只显示部分,点击任意按键后继续查看

    cat http-2015-01-28.log | more

  8. 显示文件的最后10行

    tail -f http-2015-01-28.log

  9. 从指定文件的200行处查看文件内容

    more +200 http-2015-01-28.log

    more 子命令集:

回车 向下滚动1行

空格 向下滚动一屏幕

Ctrl+B 向上滚动一屏幕

= 输出当前的行号

:f 输出当前文件名和当前行号

q 退出命令

!命令 调用shell 执行相应脚本

10) 使用More 命令查看文件中首次出现[/][关键字]的文本内容

more +/day3 http-2015-01-28.log

11) 设定每屏显示行数 more -[行数][空格][文件路径]

more -5 http-2015-01-28.log

12) 查看当前文件夹下文件列表并设定每屏幕显示5行

ls -l | more -5

13) PS 查看进程信息并通过less分页显示

ps -ef |less

14) 查看命令历史使用记录并通过less分页显示

history | less

15) 浏览多个文件 (需要确定下该条命令是否生效)

Less log2013.log log2014.log

  1. grep -c "ERROR" demo.log #输出文件demo.log中查找所有包行ERROR的行的数量

  2. grep 用法截图

  3. sort -u common.log #去除重复行

  4. sort -r 降序排列

  5. sort -r number.txt -o number.txt 将按照降序排列的文件重定向到其它文件中

  6. sort -n number.txt 以数值来排序

  7. sort -n -k 2 -t : facebook.txt 按照数值 在第二列按照:作为分割符号排序

  8. 其它命令的补充:

-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写

-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1

-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1

-M会以月份来排序,比如JAN小于FEB等等

-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。

netstat -tln 命令是用力查看当前IP地址对应的端口

Ubuntu 下安装SSH服务端

SSH分客户端openssh-client和openssh-server

如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server

sudo apt-get install openssh-server

然后确认sshserver是否启动了:

ps -e |grep ssh

如果看到sshd那说明ssh-server已经启动了。

如果没有则可以这样启动:sudo /etc/init.d/ssh start

ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。

然后重启SSH服务:

sudo /etc/init.d/ssh stop

sudo /etc/init.d/ssh start

然后使用以下方式登陆SSH:

ssh tuns@192.168.0.100 tuns为192.168.0.100机器上的用户,需要输入密码。

断开连接:exit


$ crontab --help

crontab:无效选项 -- -

crontab: usage error: unrecognized option

usage: crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

(default operation is replace, per 1003.2)

-e (edit user"s crontab)

-l (list user"s crontab)

-r (delete user"s crontab)

-i (prompt before deleting user"s crontab)

so:

crontab -l 表示列出所有的定时任务

crontab -r 表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除,执行crontab -l后会提示用户:“no crontab for admin”

$ more emmacron

定时抓取数据,每隔2小时执行一次

0 */2 * * * /bin/sh /home/admin/ccbin/emmash/emmactl.sh


crontab文件中的行由6个字段组成,不同字段间用空格或者tab键分割。前5个字段指定命令要运行的时间

分钟(0-59)

小时(0-28)

日期(1-31)

月份(1-12)

星期几(0-6,其中0代表星期日)

第六个字段是一个要在适当时间执行的字符串

例子:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

#每天早上6点10分

10 6 * * * date

#没两个小时

0 */2 * * * date

#晚上11点到早上8点之间每2个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

#1月份一号早上4点

0 4 1 jan * date

以上是 备忘:Linux常用命令备忘 的全部内容, 来源链接: utcz.com/z/510545.html

回到顶部