命令说明

$ type cmd # 获取命令类型
$ which cmd # 命令的位置
$ help cmd / cmd --help / man cmd # 获取命令帮助
$ whatis cmd # 命令描述信息

Linux – filesystem path notation

Notation

Desc

/

the root directory

.

the current working directory

..

the parent directory (i.e. one directory up)

~

home directory

~wasadmin

wasadmin's home directory

-

return to the last visited directory

Linux - user & group

 

文件

文件内容示例

含义

用户

/etc/passwd

root:x:0:0:root:/root:/bin/bash

mysql:x:502:502::/home/mysql:/bin/bash

用户名:密码:UID:GID:用户全名:home目录:shell

1-499: 系统用户; 500-:普通用户

用户组

/etc/group

root:x:0:

mail:x:12:mail,postfix

组名:用户组密码:GID:用户组内的用户名

用户密码

/etc/shadow

-

-

用户组密码

/etc/gshadow

-

-

sudoer

/etc/sudoers

root    ALL=(ALL)       ALL

%wheel ALL=NOPASSWD: ALL

提权配置文件

Linux - file permission model

lrwx-xr-x

说明:l为目录、文件、软硬连接信息,示例为软连接

rwx为当前用户权限,这里表示有读写执行权限

xr为用户组权限

x为其他人的权限

Linux – file link

为解决文件的共享使用,引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。

硬链接有以下特性(或限制),所以软连接比硬链接应用广泛:

l 文件有相同的 inode 及 data block;

l 只能对已存在的文件进行创建;

l 不能交叉文件系统进行硬链接的创建;

l 不能对目录进行创建,只可对文件创建;

l 删除一个硬链接文件不影响其它相同 inode 号的文件。

软连实际用法:

l 用作 web 集群的 www 目录,软连接至nas目录

l 用作解释性脚本语言应用程序的多版本发布

l 用作应用服务器集群 log 目录

l …

示例:

ln -s /data01/logs /tctHome/tomcat_xx/logs
把tomcat_xx下的的logs目录指向data01的logs目录

Linux install software

rpm:
查已安装:rpm -qa | grep java
安装:rpm -ivh xxx.rpm
卸载:rpm -e xxx

Yum:
查找:yum list xxx
安装:yum install xxx
更新:yum update xxx
卸载:yum remove xxx

Build from src
wget http//somewhere/something.tar.gz
tar xvf something.tar.gz
cd something
./configure --prefix ~/mysoftware
Make && make install

Linux cmd keyboard tricks

Linux cmd 需要大量敲键盘,如何更快、更高效的敲?

移动光标
往左:左箭头;最左:CTRL+A
往后:右箭头;最右:CTR + E

自动补齐:TAB / ESC+. 上次命令的参数

查找历史:
上1条:上箭头; 下1条:下箭头;

$history or $history | grep keyword
!foo 执行以 foo 开头的历史命令
!?foo 执行包含 foo 的历史命令
查找:
CTRL + R
$(reverse-i-search)`': keyword
ENTER 执行 or CTRL + J 复制粘贴

清屏:CTRL+L or $clear

结束命令:CTRL+C / kill / killall

文件/目录通配符

*

any number of characters

?

any single character

[0-9]

any digit

{a..z}

alphabet

1{13..22}

numbers 113 through 122

如:mkdir book-{2010..2016}-{00..12}

命令一行写不完,换行:\

Linux i/o redirection

STDOUT
$ls -l /usr/bin > ls-output.txt #重定向 stdout
$> ls-output.txt #清空文件
$ls -l /usr/bin >> ls-output.txt #重定向 stdout 并 append

STDERR
$ls -l /bin/usr 2> ls-error.txt #重定向 stderr

STDOUT & STDERR
$ls -l /bin/usr > ls-output.txt 2>&1 #重定向stdin和stderr
$ls -l /bin/usr &> ls-output.txt

$ls -l /bin/usr 2> /dev/null #丢弃stderr

STDIN
$cat < file
$cat access_log_2016_12* > 2016_12_all_in_one.log

Linux Pipelines & filters:  cmd1 | cmd2 

示例:

ls -lt /var/log | head | grep root

cat access_log_2016_07* |awk '{print $7}'|sort|uniq -c|sort -nr|head -n 10 > top10

备注:上面第二个示例表示取我们项目业务数据中2016年7月访问量最高的前10条日志

管道参数说明:

cat—Concatenate files.
sort—Sort lines of text.
uniq—Report or omit repeated lines.
wc—Print newline, word, and byte counts for each file.
grep—Print lines matching a pattern.
head—Output the first part of a file.
tail—Output the last part of a file.
tee—Read from standard input and write to standard output and files.

Linux cmd

分类

常用命令

帮助

man

目录和文件处理

pwd cd mkdir ls ll pwd cp mv touch ls rm rmdir scp rsync

文本处理

cat more less head tail echo vi

系统管理

top ps free kill jobs bg fg iostat lsof crontab

文件系统

du df mount/umount

权限处理

chmod chown chgrp

文件压缩解压

tar gzip/gunzip zip/unzip

用户/组管理

useradd usermod userdel groupadd groupmod groupdel

网络相关

ifconfig telnet nslookup ping

Linux cronjobs / at

定时任务,依赖于任务调度守护进程crond
contab -e #编辑
crontab -l #列表
crontab -r #删除

格式:分时日月周
* : Any possible value
/ : every
, : or
- : range

示例:

30 21 * * * /opt/lampp/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /opt/lampp/apache/bin/apachectl restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /opt/lampp/apache/bin/apachectl restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /opt/lampp/apache/bin/apachectl restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /opt/lampp/apache/bin/apachectl restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /opt/lampp/apache/bin/apachectl restart
每一小时重启apache

几个重要相关文件:
cron 计划信息存储在:/var/spool/cron/{用户}
cron 日志存储在:/var/log/cron

crond 服务:
service crond {start|stop|status|restart|…}
命令stdout & stderr 要重定向

Linux common Limitation

TCP 最大端口号: 65535 (RFC 793 源/目标端口由16位表示,65535 = 2 ^ 16 - 1);
监听端口号小于 1024 的进程须由 OS root 账号启动(也有方法绕开,但并不建议这么做);
命令的参数数量有限制:getconf ARG_LIMIT; ~~ Argument list too long
OS 的应用账户可用的文件描述符和进程数均有限制 ~~ too many open files

可使用 ulimit 命令修改(当前session)或者用 root 账号修改  /etc/security/limits.conf file 以及/etc/security/limits.d/ *.conf

Linux System Resources

Processes
Use the ps command to list processes
ps aux will list all processes (grep it for your username)

CPU
Use the top command to run an interactive system monitor (hit q to exit it)

Memory
The free command shows overall memory usageps can give per-process details (ps -o 'user pid vsize rss %mem cmd')

Open files
lsof lists open files on the system (at least by processes that you have permission to investigate)

Linux network cmd

怎么测试远程端口的防火墙策略是否OK?
telnet ip port

怎么测试GSLB的策略是否OK?
nslookup domain dns

如何检测端口是否在监听?
netstat -anlp | grep 80

ifconfig
tcpdump

参考资料:http://talk.linuxtoy.org/using-cli/#1

Linux 基础的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. javaScript之BOM操作2

    <!doctype html> <html lang="en"> <head> <title>Document</title& ...

  2. python语言中的编码问题

    在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的 ...

  3. Swift-常量变量

    OC 用NSLog输出日志 swift 用print输出日志 swift语句结束不需要加:号 常量和变量: OC 定义常量 const int a = 10; swift 定义常量 let a = 1 ...

  4. 4、项目的培训 - PMO项目管理办公室

    培训是一个重要的内容,在公司内部就有相关的培训.对于PMO项目管理办公室来说,就是相关的项目的技术和业务的培训,以期让项目组人员能够快速的学习好项目业务内容和所需要使用到的技术内容,然后尽快的进入项目 ...

  5. mysql 5.7 docker 主从复制架构搭建

    环境版本: MySQL :  5.7.13 Docker : 1.11.2 CentOS : 7.1   1.先在两个物理机上分别安装两个MySQL.命令如下 docker pull mysql:5. ...

  6. sql语句查询经纬度范围(转载,源链接失效)

    MySQL性能调优 – 使用更为快速的算法进行距离 最近遇到了一个问题,通过不断的尝试最终将某句原本占据近1秒的查询优化到了0.01秒,效率提高了100倍. 问题是这样的,有一张存放用户居住地点经纬度 ...

  7. eclipse 启动到loading workbench... 自动关闭

    是由于项目没有正常关闭运行而导致"workbench.xmi"中的"persistedState"标签还保持在运行时的配置造成的. 解决方法: 找到<wo ...

  8. MFC消息映射机制以及画线功能实现

    ---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...

  9. 基于pcDuino-V2的无线视频智能小车 - pcduino上的网络编程

    通过获取从串口发送上来的数据  已经和上位机的连接通信和图像发送.已经对设备的控制 https://github.com/qq2216691777/pcduino_smartcar-pcduino

  10. JQuery中$.ajax()方法参数详解 及 async属性说明

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...