操作系统技术,云计算应用

Linux:系统的密码忘记了,登录不上

myos阅读(3)

可先通过进入单用户模式,修改下密码再登录记录。

 

第一步:

重启系统,在进入系统之前不断的按键盘左上角的“Esc”键,会进入如下页面:

然后按e进入编辑页面

 

第二步:

进入如下页面后,通过键盘的上下方向键选择kernel那行,然后再按e进入编辑,在最末尾处加入参数single,使系统开机直接进入单用户模式,然后回车即保存编辑,回到了上一步的界面,点击键盘上的b即启动系统。

第三步:

重启后进入单用户模式,输入passwd修改密码,再重启系统,即可用新的密码登录系统

 

我眼中的Linux设备树(二 节点)

myos阅读(3)

二 节点(node)的表示

首先说节点的表示方法,除了根节点只用一个斜杠“/”表示外,其他节点的表示形式如“node-name@unit-address”。@前边是节点名字,后边是节点地址。
节点名字的长度范围是1到31,可以使用的字符在ePAPR规范中有说明,包括:

0-9    数字
a-z    小写字母
A-Z    大写字母
,    逗号
.    句点(英)
_    下划线
+    加号
–    破折号(英)

规范要求节点名字应该以字母开头,虽然允许后边的位置使用非字母的字符,但实际情况我们实在没必要使用其他字符,一般情况全部用字母表示就够了。特别是规范建议在起名字时采用通用的名字而不是专有的名字,比如对于网卡,使用ethernet表示就可以了,可以通过地址区分不同的网卡,网卡的区别可以通过节点下的属性区分。还有就是关于目前存在的设备基本上都已经有被广泛接受的名字了,我们完全没必要在此标新立异,比如下边规范中列举的节点名字(经常写驱动的人基本一眼就能猜出是哪种设备):

atm
cache-controller
compact-flash
can
cpu
crypto
disk
display
dma-controller
ethernet
ethernet-phy
fdc
flash
gpio
i2c
ide
interrupt-controller
isa
keyboard
mdio
memory
memory-controller
mouse
nvram
parallel
pc-card
pci
pcie
rtc
sata
scsi
serial
sound
spi
timer
usb
vme
watchdog

节点地址是用来区别同名节点的,不是软件意义上的地址,但是有些情况可以用软件地址作为这个地址。比如两个I2C控制器的名字可以都是i2c,然后用控制器寄存器首地址作为这个节点地址。对于cpu,因为它是没有寄存器地址的,就可以用核的号码作为地址,对于8核处理器,地址可以从0到7。ePAPR规范中关于节点地址的描述不太好理解,原文是“The unit-address component of the name is specific to the bus type on which the node sits”。其实我觉得这句话说的也不太准确,因为并不是所有节点表示的硬件都位于某个总线上,比如内存,cpu。设备树是软件对硬件的一种近似表示,软件需要他怎么表示,他就怎么表示。对于cpu,软件需要序号,那么地址就用序号,对于i2c控制器,软件需要寄存器首地址,那么就用地址。除此之外规范还要求,如果节点有地址,那么节点下边必须有一个叫reg的属性,并且该地址必须和reg的属性的第一个地址相同。如果节点没有reg属性,那么节点地址及前边的@必须都不能有。关于属性和值我们还没开始介绍,这里插一句,其实reg就是register的缩写,这个属性主要用来表示控制器寄存器首地址的。我觉得规范中这一条不是非常有必要,因为有些设备只要有一个地址就够了,那么放在节点地址中就够了,完全没必要非得再加个reg属性。在这一段的最后一句,规范来了句“The binding for a particular bus may specify additional, more specific requirements for the format of reg and the unit-address.”,我觉得这句话的意思和“设备树是软件对硬件的一种近似表示,软件需要他怎么表示,他就怎么表示”差不多,没有什么玄的。

节点路径也比较容易理解,从根节点到每个节点都可以形成一个路径,如第一节的例子/cpus/cpu@0,通过这个可以唯一的表示cpu@0这个节点。因为cpu@0在cpus下边是唯一的,但是在整个设备树可能不是唯一的,只有用全路径表示才能毫无异议的确认是哪个节点。如果省略了节点地址也不会产生歧义,那么可以省略不写。就像编程中的括号一样,个人觉得这个没必要省。

除了名字和地址外,节点前边还可以有一个标签(label),这个标签不是必须的,一般只有在别个地方需要引用这个节点时才会用标签标示这个节点,因为如果用全路径太繁琐了。如“i2c_1: i2c@12C70000”中的i2c_1就是一个标签。

Linux_磁盘管理

myos阅读(5)

一、linux磁盘管理

  1. 命令:fdisk -l
  2. brwx-rw— 其中b(占位符)代表block,块设备文件
  3. sda,sdb… –> 硬盘 其中sda1,sda2..sdb1,sdb2…–>硬盘分区 (s:硬盘接口;d:disk)
    • 了解硬盘接口:stata,sas –> 服务器借口
    •          scsi,ide   –> 个人电脑接口
    • fdisk -l 后有个  cylinder     : 磁柱
      • 起始与结束
      • 查看硬盘是否分区
  4. 虚拟机添加新硬盘(单个文件),重新启动,分区
    1. 概念:主分区(格式化后直接使用),扩展分区(格式化后还要进行逻辑分区才能使用),逻辑分区(与主分区类似,但非系统分区)
    2. 利用fdisk /dev/sdb来对sdb(新加的硬盘)进行分区
    3. 分区步骤:分一个10G的主分区,剩下的为扩展分区,再从扩展分区中分出两块逻辑分区,结构为2+1
    4. 分区保存后,重启使分区文件加载生效
    5. 格式化:mkfs.文件系统(ext1,ext2,ext3,ext4,centos 7 使用的文件系统xfs) 例:mkfs.ext4 /dev/sdb6
    6. 格式化完毕,还需要挂载磁盘(mount临时的,用法mount /dev/sdb6 /mnt/(一般挂载点)),才能使用
    7. 若要永久挂载,需要写入配置文件/etc/fstab
    8. 取消挂载 umount /mnt/
    9. 查看挂载信息,容量等信息(df -h)

二、实际操作

[root@hadoop09-linux ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2859532e.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10G

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2859532e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (1307-2610, default 1307): 
Using default value 1307
Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): 
Using default value 2610

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2859532e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2610    10474380    5  Extended

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (1307-2610, default 1307): 
Using default value 1307
Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): +4G

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2859532e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2610    10474380    5  Extended
/dev/sdb5            1307        1829     4200966   83  Linux

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (1830-2610, default 1830): 
Using default value 1830
Last cylinder, +cylinders or +size{K,M,G} (1830-2610, default 2610): +4G

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2859532e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2610    10474380    5  Extended
/dev/sdb5            1307        1829     4200966   83  Linux
/dev/sdb6            1830        2352     4200966   83  Linux

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@hadoop09-linux ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00062208

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        2358    18631680   83  Linux
/dev/sda3            2358        2611     2031616   82  Linux swap / Solaris

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2859532e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2610    10474380    5  Extended
/dev/sdb5            1307        1829     4200966   83  Linux
/dev/sdb6            1830        2352     4200966   83  Linux
[root@hadoop09-linux ~]# reboot

Broadcast message from root@hadoop09-linux.ibeifeng.com
	(/dev/pts/0) at 8:51 ...

The system is going down for reboot NOW!
[root@hadoop09-linux ~]# 
Connection closed by foreign host.

Disconnected from remote host(CentOs_64) at 23:52:01.

Type `help' to learn how to use Xshell prompt.
[d:\~]$ 

Connecting to 192.168.0.108:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Wed Sep  7 08:27:29 2016 from 192.168.0.105
[root@hadoop09-linux ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00062208

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        2358    18631680   83  Linux
/dev/sda3            2358        2611     2031616   82  Linux swap / Solaris

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2859532e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2610    10474380    5  Extended
/dev/sdb5            1307        1829     4200966   83  Linux
/dev/sdb6            1830        2352     4200966   83  Linux
[root@hadoop09-linux ~]# mkfs.ext4 /dev/sdb6
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262944 inodes, 1050241 blocks
52512 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1077936128
33 block groups
32768 blocks per group, 32768 fragments per group
7968 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@hadoop09-linux ~]# mount /dev/sdb6 /mnt/
[root@hadoop09-linux ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              18G  2.5G   15G  15% /
tmpfs                 495M   72K  495M   1% /dev/shm
/dev/sda1             291M   33M  243M  12% /boot
/dev/sdb6             4.0G  137M  3.7G   4% /mnt

  永久挂载

[root@hadoop09-linux ~]# vi /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Sep  2 08:10:36 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=517d46c1-d4c6-41ba-94f7-b0cac93f178b /                       ext4    defaults        1 1
UUID=75090abd-0581-411d-863a-73d735fb90df /boot                   ext4    defaults        1 2
UUID=25865ffd-404c-49c2-afba-374d7a5a81df swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/etc/sdb6               /mnt                    ext4    defaults        0 0

  

 

Ubuntu系统字体安装

myos阅读(6)

  用惯了Windows,刚转到Ubuntu时总感觉字体显示没那么亲切,尤其是中文字体,在网页上显示特别怪。有些软件对中文字体的支持也不好,WebStorm中的Git logs中文也显示乱码。把系统语言设置成中文,Git logs无法显示中文的问题解决了,但英文的菜单字体又显示怪怪的。简直无法忍受!

  怎么办?在百度上搜到这篇文章,说是可以把Windows中喜欢的字体拷贝到Ubuntu中进行安装,但微软雅黑字体的显示还是很怪,有点黑体的感觉。无奈!后来尝试了一下下面的方法,然后重启系统,字体显示完美,和在Windows上几乎没有两样!

在终端输入以下命令进行字体安装:

wget -O get-fonts.sh.zip http://files.cnblogs.com/DengYangjun/get-fonts.sh.zip
unzip -o get-fonts.sh.zip 1>/dev/null
chmod a+x get-fonts.sh
./get-fonts.sh

如果要删除已下载的字体安装脚本,执行以下命令:

rm get-fonts.sh get-fonts.sh.zip 2>/dev/null

如果要恢复系统默认的字体,执行以下命令:

cd /etc/fonts/conf.avail
sudo mv 51-local.conf.old 51-local.conf 2>/dev/null
sudo mv 69-language-selector-zh-cn.conf.old 69-language-selector-zh-cn.conf 2>/dev/null
sudo rm -f -r /usr/share/fonts/truetype/myfonts 2>/dev/null

  我本机试了一下,效果很好!在这里记录一下,以备下次再用。

免密码远程登录和远程操作

myos阅读(22)

主要是: 密钥对的创建和使用,掌握免密码远程登录远程操作

 

环境:

本地主机 192.168.170.3

远程主机 192.168.155.3

参考前面几个,保证本地主机和远程主机 能互相ping通

 

(原理和步骤:

本地主机 192.168.170.3 生成密钥对,然后把公钥上传到远程主机 192.168.155.3,再登录远程主机 192.168.155.3把公钥到授权密钥文件

利用密钥对来验证身份,所以可以免密码远程登录和远程操作

 

1、

在putty上,以用户root登录192.168.170.3

 

[root@www root]#  mkdir   -pm   700   .ssh

 

创建密钥对

[root@www root]# ssh-keygen   -f   .ssh/id_dsa   -t   dsa

-f 是密钥的生成后的保存文件位置

-t 参数就是指定要生成的密钥类型,你这里指定的是dsa

 

 

查看产生的密钥对

[root@www root]# cat   .ssh/id_dsa

 

 

查看产生的公钥

[root@www root]# cat   .ssh/id_dsa.pub

 

2、上传公钥到远程主机 192.168.155.3

 

(第一个红色地方,yes,然后回车

第二个红色地方,输入远程主机 192.168.155.3的密码,然后回车

 

如果当远程主机 192.168.155.3添加公钥到授权密钥文件,这里就不用输入密码

 

3、putty连接 远程主机 192.168.155.3后,添加公钥授权密钥文件

 

[root@localhost root]#  mkdir   -pm   600   .ssh

[root@localhost root]#  cat   id_dsa.pub   >>   .ssh/authorized_keys

[root@localhost root]#  chmod   600   .ssh/authorized_keys

 

4、本地主机 192.168.170.3免密码远程登录 远程主机 192.168.155.3,创建文件155.txt

(内容为by170)

 

[root@www root]#  ssh   root@192.168.155.3

Last login: Thu  May  14  13:12:29  2015  from  192.168.155.1

 

[root@localhost root]# cat   >   155.txt

by  170

 

这时候免密码远程登录 远程主机 192.168.155.3成功了

 

5、本地主机 192.168.170.3 远程复制 刚才创建的155.txt(远程主机 192.168.155.3

 

先[root@localhost root]#   exit

(退出远程登录,返回 本地主机 192.168.170.3)

[root@www root]#  scp   root@192.168.155.3:155.txt  . (远程复制)

[root@www root]#  cat   155.txt (查看155.txt,看是否复制成功)

 

 

7、远程操作(远程执行命令)

 

本地主机 192.168.170.3 远程操作(远程主机 192.168.155.3),执行ls -l 命令

(可以是任意命令)

 

[root@www root]# ssh   root@192.168.155.3   ls   -l

 

file

myos阅读(4)

Linux中shell命令的用法和技巧

myos阅读(1)

使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。于是,我开始在一个文本文件里记录这些用法,并放在我的Dropbox里,现在,向大家分享这个文件。这个文件我会不断的更新。需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件。

UPDATE: November 25, 2013

检查远程端口是否对bash开放:

echo >/dev/tcp/8.8.8.8/53 && echo “open”

让进程转入后台:

Ctrl + z

将进程转到前台:

fg

产生随机的十六进制数,其中n是字符数:

openssl rand -hex n

在当前shell里执行一个文件里的命令:

source /home/user/file.name

截取前5个字符:

${variable:0:5}

SSH debug 模式:

ssh -vvv user@ip_address

SSH with pem key:

ssh user@ip_address -i key.pem

用wget抓取完整的网站目录结构,存放到本地目录中:

wget -r –no-parent –reject “index.html*” http://hostname/ -P /home/user/dirs

一次创建多个目录:

mkdir -p /home/user/{test,test1,test2}

列出包括子进程的进程树:

ps axwef

创建 war 文件:

jar -cvf name.war file

测试硬盘写入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

测试硬盘读取速度:

hdparm -Tt /dev/sda

获取文本的md5 hash:

echo -n “text” | md5sum

检查xml格式:

xmllint –noout file.xml

将tar.gz提取到新目录里:

tar zxvf package.tar.gz -C new_dir

使用curl获取HTTP头信息:

curl -I http://www.111cn.net

修改文件或目录的时间戳(YYMMDDhhmm):

touch -t 0712250000 file

用wget命令执行ftp下载:

wget -m ftp://username:password@hostname

生成随机密码(例子里是16个字符长):

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

快速备份一个文件:

cp some_file_name{,.bkp}

访问Windows共享目录:

smbclient -U “DOMAINuser” //dc.domain.com/share/test/dir

执行历史记录里的命令(这里是第100行):

!100

解压:

unzip package_name.zip -d dir_name

输入多行文字(CTRL + d 退出):

cat > test.txt

创建空文件或清空一个现有文件:

> test.txt

与Ubuntu NTP server同步时间:

ntpdate ntp.ubuntu.com

用netstat显示所有tcp4监听端口:

netstat -lnt4 | awk ‘{print $4}’ | cut -f2 -d: | grep -o ‘[0-9]*’

qcow2镜像文件转换:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img
                                 precise-server-cloudimg-amd64-disk1.raw

重复运行文件,显示其输出(缺省是2秒一次):

watch ps -ef

所有用户列表:

getent passwd

Mount root in read/write mode:

mount -o remount,rw /

挂载一个目录(这是不能使用链接的情况):

mount –bind /source /destination

动态更新DNS server:

nsupdate < <EOF
update add $HOST 86400 A $IP
send
EOF

递归grep所有目录:

grep -r “some_text” /path/to/dir

列出前10个最大的文件:

lsof / | awk ‘{ if($7 > 1048576) print $7/1048576 “MB “$9 }’ | sort -n -u | tail

显示剩余内存(MB):

free -m | grep cache | awk ‘/[0-9]/{ print $4″ MB” }’

打开Vim并跳到文件末:

vim + some_file_name

Git 克隆指定分支(master):

git clone git@github.com:name/app.git -b master

Git 切换到其它分支(develop):

git checkout develop

Git 删除分支(myfeature):

git branch -d myfeature

Git 删除远程分支

git push origin :branchName

Git 将新分支推送到远程服务器:

git push -u origin mynewfeature

打印历史记录中最后一次cat命令:

!cat:p

运行历史记录里最后一次cat命令:

!cat

找出/home/user下所有空子目录:

find /home/user -maxdepth 1 -type d -empty

获取test.txt文件中第50-60行内容:

< test.txt sed -n ‘50,60p’

运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):

sudo !!

创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):

mount -t tmpfs tmpfs /tmpram -o size=512m

Grep whole words:

grep -w “name” test.txt

在需要提升权限的情况下往一个文件里追加文本:

echo “some text” | sudo tee -a /path/file

列出所有kill signal参数:

kill -l

在bash历史记录里禁止记录最后一次会话:

kill -9 $$

扫描网络寻找开放的端口:

nmap -p 8081 172.20.0.0/16

设置git email:

git config –global user.email “me@111cn.net

To sync with master if you have unpublished commits:

git pull –rebase origin master

将所有文件名中含有”txt”的文件移入/home/user目录:

find -iname “*txt*” -exec mv -v {} /home/user ;

将文件按行并列显示:

paste test.txt test1.txt

shell里的进度条:

pv data.log

使用netcat将数据发送到Graphite server:

echo “hosts.sampleHost 10 `date +%s`” | nc 192.168.200.2 3000

将tabs转换成空格:

expand test.txt > test1.txt

Skip bash history:

< space >cmd

去之前的工作目录:

cd –

拆分大体积的tar.gz文件(每个100MB),然后合并回去:

split –b 100m /path/to/large/archive /path/to/output/files
cat files* > archive

使用curl获取HTTP status code:

curl -sL -w “%{http_code}\n” www.111cn.net -o /dev/null

设置root密码,强化MySQL安全安装:

/usr/bin/mysql_secure_installation

当Ctrl + c不好使时:

Ctrl +

获取文件owner:

stat -c %U file.txt

block设备列表:

lsblk -f

找出文件名结尾有空格的文件:

find . -type f -exec egrep -l ” +$” {} ;

找出文件名有tab缩进符的文件

find . -type f -exec egrep -l $’t’ {} ;

用”=”打印出横线:

printf ‘%100sn’ | tr ‘ ‘ =

更多详细内容请查看:http://www.111cn.net/sys/linux/56630.htm

Centos6.5下设置静态IP

myos阅读(5)

1.编辑网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0

设置网卡eth0的IPV4信息,需要注意的是,设置的IPADDR需要和局域网中其他机器处于同一网段。需设置容如下:

 

DEVICE=eth0      //指出设备名称
TYPE=Ethernet    //网络类型
UUID=00d5494b-16ed-49c9-a221-76b973cb1570
ONBOOT=yes    //是否启动应用
NM_CONTROLLED=yes
BOOTPROTO=none
BOOTPROT=static             //启动类型 dhcp|static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:6D:B1:2D //硬件Mac地址
IPADDR=192.168.124.128
NETMASK=255.255.255.0 //子网掩码
PREFIX=24
GATWAY=192.168.124.2 //网关
DNS1=192.168.124.2 LAST_CONNECT=1438760346

 

2.重启网卡

service network restart

重启网卡时,shell中可能会有重新配置IP的相关信息出现在shell中。

3、通过ping局域网中其他主机的IP来测试配置是否成功

ping 192.168.124.129

  注意:如果是在VirtualBox中配置,需要把网络选项卡中的连接方式改为桥接。

 

大前端WP主题 更专业 更方便

联系我们联系我们