linux点滴

1.   ls选择性查看,如只查看.img的文件 可以用ls *.img 或者ls -l *.img(以列表形式查看,更直观,更详细)

2.   vim中,命令模式下,‘/’+要找的字符串,可以在内容中查找字符串,按n/N查找上/下一个

3.   linux下重要目录的作用,/bin存放linux缺省工具,/env存放系统配置文件,/dev存放与设备有关的文件(其中sd开头的是和磁盘有关的文件)

4.   fdisk -l 查看磁盘情况,非root权限下不显示结果

关于磁盘到组织结构, 盘面(一个盘面对应一个磁头head),柱面(cylinder),扇区(sector),一个磁盘由很多层盘面组成,每层盘面有很多个圆环,即柱面,每个柱面又被分成很多扇区。

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000db977

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048  1920055295   960026624   83  Linux
/dev/sda2      1920057342  1953523711    16733185    5  Extended
/dev/sda5      1920057344  1953523711    16733184   82  Linux swap / Solaris

如以上是我的磁盘情况。255*63*121601=1953520065 略小于 total 1953525168 sectors

total 1953525168 sectors * 512bytes /sector= 1000204886016 bytes

5. 在linux中打开一个程序,可以在shell中直接输入文件名,如'meld','emulator','gedit'等等, 如果在这后面加个'&',可以实现shell和程序的分离,即不是必须关闭程序才能在该shell下继续输入

6. 查找某个文件的位置   locate 文件名

7. 查找某字符串在哪些文件存在 grep '字符串' * -r 

-r表示递归搜索 目录及其子目录

此方法可用于找某函数存在的文件

-i 忽略大小写

8. ssh 和 scp

9.

smbclient是一种基于smb协议的用于文件共享的客户端程序

smb(服务器信息块)协议用于在计算机之间共享文件、打印机、串口等。SMB协议可以用在TCP/IP协议之上,客户端程序通过它访问服务器端的文件等。smbclient可让Linux系统存取Windows系统所分享的资源。

smb又称为CIFS common internet file system

smbclient是一种类似FTP的去获取sever上SMB/CIFS资源的客户端程序

一个不错的学习链接 https://wiki.archlinux.org/index.php/Smbclient

10.

linux下文件不靠后缀名区分文件类型,可以用file命令查看文件类型 file filename

主要又两种包:binary package和source package [开源版不是很稳定]

二进制包一般可以直接安装运行,源码包需要编译。通常编译就三条命令;

代码:
./configure
make
sudo make install
 
11.
linux下查看kernel版本号 uname -a  目前最新的3.15
 
12.
linux下升级系统 sudo apt-get update  使用某个源来升级 sudo apt-get dist-upgrade  
源sourcelist在系统中的位置   /etc/apt
 

13.

linux下一个不错的文件比较软件meld

安装:sudo apt-get intstall meld

使用:cd /usr/bin && meld

心得:ubuntu下很多软件可以用apt-get的方法安装,安装后的执行文件位于/usr/bin下,执行即可.而/usr/bin一般是环境变量PATH中的,所以一般在任何路径下都可以直接使用命令meld

14.

linux下用于查看系统日志的一些信息,比如我的机子最近频繁死机.一天可达3次.guyang帮忙看了一些系统日志,用了以下命令:

(1) dmesg

dmesg 功能说明:显示开机信息。

语  法:dmesg [-cn][-s <缓冲区大小>]
http://i.cnblogs.com/EditPosts.aspx?postid=3667981
补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

(2) lspci

PCI是Peripheral Component Interconnect(外围设备互联)的简称,是普遍使用在桌面及更大型的计算机上的外 设总线

lspci is a command on Unix-like operating systems that prints detailed information about all PCI buses and devices in the system.

即lspci是用来显示PCI总线和设备的信息的

(3)cd /var/log 在此目录下

vi lastlog

vi xorg.0.log.old

vi xorg.1.log.old

xorg是X11窗口系统的一个开源实现,大部分linux发行版本都提供了它

15.

.deb文件 deb是Debian软件包格式,文件扩展名为.deb,跟Debian的命名一样

deb 是 Unix系统(其实主要是 Linux)下的安装包,基于 tar 包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。 

.deb是ubuntu,debian常见的软件安装包格式

.rpm是redhead,fedora,suse的软件安装包格式

dpkg命令常用格式如下:
sudo dpkg -I iptux.deb      #查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于--info)
sudo dpkg -c iptux.deb      #查看iptux.deb软件包中包含的文件结构(其中-c等价于--contents)
sudo dpkg -i iptux.deb  #安装iptux.deb软件包(其中-i等价于--install)
sudo dpkg -l iptux  #查看iptux软件包的信息(软件名称可通过dpkg -I命令查看,其中-l等价于--list)
sudo dpkg -L iptux  #查看iptux软件包安装的所有文件(软件名称可通过dpkg -I命令查看,其中-L等价于--listfiles)
sudo dpkg -s iptux  #查看iptux软件包的详细信息(软件名称可通过dpkg -I命令查看,其中-s等价于--status)
sudo dpkg -r iptux  #卸载iptux软件包(软件名称可通过dpkg -I命令查看,其中-r等价于--remove)


注:dpkg命令无法自动解决依赖关系。如果安装的deb包存在依赖包,则应避免使用此命令,或者按照依赖关系顺序安装依赖包。

16.

linux下安装chrome

以我的ubuntu 64位为例,直接在google chrome官网https://www.google.com/intl/en/chrome/browser/下载

选择64bit.deb (for debian,ubuntu)

下载后会有一个.deb包,双击后会自动用ububtu software center打开,然后点击安装完成

直接在terminal下敲google-chrome-stable即可打开

心得: linux下,安装好的软件如果想要运行,一般直接在terminal下输入软件的名字即可

17.

在某目录下建立对另一目录某文件的链接 ln -s 源文件 目标文件

源文件就是另一目录的某文件,目标文件就是你当前目录下的链接文件,自取名. 于是,对两文件的改动是等价的,对源文件改动目标文件会随之改动,反之亦然。

此种情况特别适合在某目录下需要用到某文件,而该文件是经常改动的,如来自于git库

注: 可以建立链接的不仅是文件,文件夹也可以

 18.

用ll查看目录下的文件,如在我的某个目录下,查看文件显示如下:

hanying@feelcool-PC:/workspace/project$ ll
total 28
drwxr-xr-x 6 hanying hanying 4096 6月 26 09:42 ./
drwxr-xr-x 3 hanying hanying 4096 6月 25 17:55 ../
drwxrwxr-x 33 hanying hanying 4096 6月 26 17:43 aosp-stable/
drwxrwxr-x 11 hanying hanying 4096 6月 27 11:24 chromium-android-test/
drwxr-xr-x 14 hanying hanying 4096 6月 26 10:03 depot_tools/
drwxr-xr-x 8 hanying hanying 4096 6月 16 08:33 share/
lrwxrwxrwx 1 hanying hanying 60 6月 26 09:42 x64-upstream.py -> /workspace/project/share/python/x64-upstream/x64-upstream.py*

 最后一行的->表示该文件是链接文件。由当前的链接文件指向源文件

每行的第一列是关于文件属性的说明。

第一个字母:d表示文件夹,l表示链接文件,-表示普通文件

后面9个字母,3个一组。

r表示读权限,w表示写权限,x表示可执行权限

第一组代表建立这个文件的用户权限,第二组代表建立这个文件的用户所属组的权限,第三组代表其他用户的权限,若为-,则表示没有该权限。

19. ssh scp

ssh远程登录 如在A机器上登录B机器, ssh username_B@hostname_B 

会提示输入username_B这个account的密码. 输入正确后即成功登录B

scp 源文件 目标文件

如想把A机器的东西拷贝到B机器上

方法1: 先ssh登录B机器,此时当前目录在B机器下,A就成了逻辑上的远程.  ssh username_A@hostname_A:源文件 目标文件

方法2:直接在A机器上, ssh 源文件 username_B@hostname_B:目标文件

若想scp一个文件夹,要加上-r 参数  scp -r 源文件 目标文件

扩展: 在拷贝一个很大的文件夹时,如我想拷贝几十G的aosp-stable, 那么直接用scp -r传输会很慢. 需要先打个包

而打包时间也比较长, 可以边打包边传输.

use tar command through network over ssh session

tar zcf - chromium-android-test | ssh wp@wp-01 "cd /workspace/project; tar zxf -"

(讲当前目录下的chromium-android-test目录传输到wp-01机器上的/workspace/project目录下. 传输过程是这么实现的,在发端先取一部分,然后压缩,发送到收端,在收端再解压缩,这些细节对用户是透明的,但加快了传输速度.

z代表用gzip压缩

c代表建立新的压缩文件

f代表指定压缩文件

x解压文件

20. 设置目录权限

修改目录的可读可写可执行的权限 chmod 777 文件名 (777=111,111,111, 三段皆为可读可写可执行)

修改目录的owner chown 用户名 文件名

注意,这些都只是修改改文件目录一层的权限,没有修改子目录下的文件权限.

如果需要修改该目录及其子目录的权限,要加上-R参数 如chmod -R 777 文件名

网络复制:

语法:chmod [who] [+ | - | =] [mode] 文件名

命令中各选项的含义为

u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。

 21.

rsync 用于同步两端文件

在ssh传输很大的文件但是没传完就断了的时候,用rsync可以比较两端的差异然后同步,比较好的介绍见下面的链接

http://www.2cto.com/os/201208/145246.html

比如我在执行tar zcf - chromium-android-test | ssh wp@wp-01 "cd /workspace/project; tar zxf -" 该命令已经传了45G,却因为操作失误断了该进程. 于是可以用rsync

rsync -ave ssh wp@wp-01:/workspace/project/aosp-stable /workspace/project/aosp-stable

于是可以将本地的/workspace/project/aosp-stable目录与wp-01上面的/workspace/project/aosp-stable同步

说明: -a表示archive mode, 就是保持原有的文件权限

       -v表示显示操作过程

   -e使用远程shell程序(可以使用ssh)

22. 查看操作系统位数是

getconf LONG_BIT

23. 压缩解压缩文件

压缩文件:tar -czvf  压缩后文件名.tar.gz 待压缩文件名

解压文件:  tar -xzvf 待解压文件名.tar.gz

解压文件到指定文件夹:tar -xzvf 待解压文件名.tar.gz -C 解压后文件夹(文件夹必须事先存在)

几个参数说明:

-x 解压文件

-c 压缩文件

-z代表用gzip压缩/解压

-j代表用bzip压缩/解压

-f代表指定压缩文件

-v压缩的过程中显示文件

原文地址:https://www.cnblogs.com/hanying/p/3667981.html