• 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压缩的过程中显示文件

  • 相关阅读:
    理解SVG坐标系统和变换: transform属性
    在svg文间画图过程中放大缩小图片后,坐标偏移问题
    理解SVG的缩放 偏移的计算公式
    svg 实践之屏幕坐标与svg元素坐标转换
    Winform 程序打包及安装
    使用bootstrap table小记(表格组件)
    MVC实现多级联动
    微信公众号开发之网页中及时获取当前用户Openid及注意事项
    微信公众号开发之网页授权获取用户基本信息
    微信公众号开发之自动消息回复和自定义菜单
  • 原文地址:https://www.cnblogs.com/hanying/p/3667981.html
Copyright © 2020-2023  润新知