您的位置:首页 > 运维架构 > Linux

linux

2016-06-04 23:23 337 查看
linux命令

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c


scp命令

========================================================================================================

Linux scp命令用于Linux之间复制文件和目录。

1、从本地复制到远程

scp local_file remote_username@remote_ip:remote_folder

2、从远程复制到本地

scp root@192.168.100.172:a.sh   /www

参数:

-r: 递归复制整个目录。

说明:

1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -p 参数来设置命令的端口号,命令格式如下:

#scp命令使用端口号 4588

scp -p 4588 remote@www.w3cschool.cc:/usr/local/sin.sh /home/administrator

2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

========================================================================================================

awk命令

========================================================================================================

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。

简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

使用方法:
awk '{pattern + action}' {filenames}

实例:

1.假设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

2.如果只是显示/etc/passwd的账户

#cat /etc/passwd |awk  -F ':'  '{print $1}'  

root

daemon

bin

sys

-F指定域分隔符为':'。

========================================================================================================

top命令

========================================================================================================

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

1>.统计信息区

前五行是系统整体的统计信息。

1.第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:

01:06:48 当前时间

up 1:22  系统运行时间,格式为时:分(或天数和分,如:380 days, 20 min)

1 user   当前登录用户数

load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

2.第二、三行为进程和CPU的信息,当有多个CPU时,这些内容可能会超过两行。其内容如下:

Tasks: 29 total 进程总数

1 running       正在运行的进程数

28 sleeping     睡眠的进程数

0 stopped       停止的进程数

0 zombie        僵尸进程数

Cpu(s): 0.3% us   用户空间占用CPU百分比

1.0% sy           内核空间占用CPU百分比

0.0% ni           用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id          空闲CPU百分比

0.0% wa           等待输入输出的CPU时间百分比

0.0% hi

0.0% si

3.最后两行为内存信息。内容如下:

Mem: 191272k total      物理内存总量

173656k used            使用的物理内存总量

17616k free             空闲内存总量

22052k buffers          用作内核缓存的内存量

Swap: 192772k total     交换区总量

0k used                 使用的交换区总量

192772k free            空闲交换区总量

123988k cached          缓冲的交换区总

内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,

该数值即为这些内容已存在于内存中的交换区的大小。

相应的内存再次被换出时可不必再对交换区写入。

2>.进程信息区

统计信息区域的下方显示了各个进程的详细信息。

========================================================================================================

1.文本编辑器(vi命令)

*********************************************************

vi filename -- 进入文件(创建文件)

两种工作模式

编辑模式:在此模式下,输入可见字符时和Windows下输入字符的功能相同。按Esc键可切换至命令模式。

命令模式:在此模式下,输入可见字符对应的是命令。按i或者insert可切换至编辑模式。
h、j、k、l,分别控制光标左、下、上、右移一格

常用命令:
wq      保存并退出
q!      强制退出
x       删除光标所在位置的后面一个字符(Delete删除光标前一个字符)
dd      删除光标所在行
o       插入一个空行
u       假如误操作一个指令,可以马上按u,恢复到上一个操作
ctrl b  向上翻页
ctrl f  向下翻页
----------------------------------------------------------------------
:set nu 显示行号
:666    去到666行


/pattern<Enter> :向下查找pattern匹配字符串 

n向下继续查找该字符串

*********************************************************

2.文件权限
*********************************************************

一个文件或目录可能属于所有者、用户组、其他用户,可能有读、写及执行权限;

第2~10个字符每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,

右边3个字符是其他用户的权限。

所有者、用户组、其他用户

第一套权限控制访问自己的文件权限,即所有者权限。

第二套权限控制用户组访问其中一个用户的文件的权限。

第三套权限控制其他所有用户访问一个用户的文件的权限。
读取、写入、执行

r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限.

w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限.
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限.

这三套权限赋予不同类型用户(即所有者、用户组和其他用户)的读、写及执行权限就构成了9种类型的权限组。

每个用户都拥有自己的专属目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------:
表示目录所有者本身具有所有权限,其他用户无法进入该目录。

执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。

权限用数字表示:

r:    对应数值4

w   对应数值2

x    对应数值1

-  对应数值0

使用chmod和数字改变文件或目录的访问权限
chmod 664 a.txt
*********************************************************

3.文件操作命令

*********************************************************
1.创建目录:         mkdir  /tmp/test
2.创建文件:         touch  /tmp/a.txt             (或者vi /tmp/a.txt)
3.删除文件或文件夹:     rm     /tmp/a.txt   (rm -rf /tmp/test 删除文件夹和里面的文件,没有是否确认删除的提示信息)
4.复制文件:       cp     /root/a.txt  /tmp/  :cp [参数] 源文件 目标文件)

                              cp -r /root/adir  /tmp/    (复制文件夹)(通配符:*:表示所有文件和文件夹;?:表示一个字符)
5.移动和重命名:  mv /dir /home/              (mv  [参数]  源文件 目地文件)

                              mv dir/ dirb     重命名

6.查找命令:    find [路径] [参数]

find [路径] [参数]

参数说明:

1. 时间:

   -atimen    :在 n*24小时内被 access 即存取过的文件列出来!

   -ctimen    :在 n*24小时内被 changed 即改变、新增的文件或目录印出

   -mtimen    :在 n*24小时内被 modified 即修改过的文件印出

   -newer file :比file还要新的文件就列出来!

2.使用名称:

   -group name :寻找群组名称为 name的文件

   -user name  :寻找使用者名称为 name 的文件

   -name file  :寻找档名为file的文件名称(可以使用通配符)

例子:

# find / -nametesting         //查找名为 testing  的文件

# find / -name'test*'         //查找以test开头的文件

# find . -ctime1              //查找当前目录下一天内新增的文件

# find /home -usertest        //查找 /home下拥有者为 test 的文件

7.查看文件内容

cat:查看文件所有内容(内容过多会覆盖掉前面的)

tail:显示尾部后十行信息,多用于日志滚屏

head:显示前十行信息

==========================================================================

grep命令

cat catalina.out | grep "carList"

选项与参数:

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

--color=auto :可以将找到的关键词部分加上颜色的显示喔!

-c :计算找到 '搜寻字符串' 的次数

示例:

cat catalina.2016-11-17.out | grep carList -n --color=auto

$grep -A 5 'parttern' inputfile //打印匹配行的后5行

$grep -B 5 'parttern' inputfile //打印匹配行的前5行

$grep -C 5 'parttern' inputfile //打印匹配行的前后5行

$grep -5 'parttern' inputfile    //打印匹配行的前后5行

==========================================================================

8.管道

让文件内容一屏一屏的显示,用空格键下翻页

more /etc/services

将 cat显示出来的内容重新输出给 more 命令,显示出来的内容和单独用more命令是一样的

cat /etc/services | more

9.重定向

将一些文件信息不是输出到屏幕上,而是让其输出到指定的文件或其它位置

cat /etc/services > a.txt

10.软链接

linux下的软链接类似于windows下的快捷方式

ln -s  a  b

a:是源文件,b是链接文件名,其作用是当进入b目录,实际上是进入了a目录

需要注意的是执行命令的时候,应该是a目录已经建立,目录b没有建立

删除软链接: rm -rf  b  注意不是rm -rf  b/

参考:http://blog.csdn.net/zacklin/article/details/7311903

11.更改文件拥有者




chown [-R]账号名称:用户组名称文件或目录

*********************************************************

4.用户/用户组

*********************************************************

a.用户账号的添加、删除和修改

b.用户口令的管理

c.用户组的管理

----------------------------------
a.用户账号的添加、删除

1.添加

useradd 选项 用户名

其中各选项含义如下:

-c comment 指定一段注释性描述

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,能创建主目录

-g 用户组 指定用户所属的用户组

-G 用户组,用户组 指定用户所属的附加组

例:

# useradd -d /usr/sam -m sam

此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam

# useradd -s /bin/sh -g group -G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

2.删除

userdel 选项 用户名

常用的选项是-r,他的作用是把用户的主目录一起删除

# userdel -r sam

此命令删除用户sam在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group等)中的记录,同时删除用户的主目录。

3.修改密码

root用户:直接输入passed,然后输入两次新密码

普通用户:输入passwd 用户名,然后输入两次新密码

切换账号:

su taiyang #切换到太阳用户
su #切换到root用户


b.用户口令的管理

指定和修改用户口令的Shell命令是passwd。终极用户能为自己和其他用户指定口令,普通用户只能修改自己的口令。

命令的格式为:

passwd 选项 用户名

可使用的选项:

-l 锁定口令,即禁用账号。

-u 口令解锁。

-d 使账号无口令。

-f 强迫用户下次登录时修改口令。

例如:假设当前用户是sam,则下面的命令修改该用户自己的口令:

$ passwd

Old password:******

New password:*******

Re-enter new password:*******

如果是终极用户,能用下列形式指定任意用户的口令:

# passwd sam

New password:*******

Re-enter new password:*******

c.用户组的管理

每个用户都有一个用户组,系统能对一个用户组中的所有用户进行集中管理。

不同Linux系统对用户组的规定有所不同,如Linux下的用户属于和他同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新。

groupadd 选项 用户组

groupdel 用户组

groupmod 选项 用户组

newgrp转换到其他用户组,这个命令的参数就是目的用户组

参考:http://www.cnblogs.com/end/archive/2011/05/25/2057129.html

*********************************************************

============================
1>解压缩

--解压war包

jar -xvf game.war  

----------------------------
--.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

----------------------------
.gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

----------------------------
.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

----------------------------
.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

----------------------------
.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

----------------------------

// 解压压缩包 问题

tar -zxvf apache-tomcat-7.0.29.tar.gz         

tar 报错gzip: stdin: not in gzip format

这个压缩包没有用gzip格式压缩  所以解压的时候也不用加上z 。直接tar -xvf 就可以了

============================
2>上传/下载

安装rz、sz命令:

sudo apt-get install lrzsz

CentOS:yum -y install lrzsz

rz -b 上传文件

sz -b 下载文件

============================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息