Linux学习笔记


linux 启动
cat /etc/inittab id:3:initdefault: 字符启动 startx 切换X窗口启动 id:5:initdefault: X窗口启动

    windows hosts:
    %SystemRoot%\system32\drivers\etc\

    linux jdk:
    export JAVA_HOME=/usr/java/jdk1.6.0_27 export JAVA_BIN=/usr/java/jdk1.6.0_27/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH
  • ctags+vim
    vim: 安装vim:sudo apt-get install vim; Esc键 --左上角那个键 (普通模式), 输入冒号 (命令行模式),wq --w(write) 写入, q(quit)退出,!(感叹号) 强制 i 进行插入 (3)Vim分屏启动: 使用大写的O参数来垂直分屏。 vim -On file1 file2 ...?使用小写的o参数来水平分屏。 vim -on file1 file2 ...注释: n是数字,表示分成几个屏。
    启动Vim后进行分屏 水平分屏。 :split垂直分屏。 :vsplit关闭分屏 关闭当前窗口。 Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。 Ctrl+W q分屏 上下分割当前打开的文件。 Ctrl+W s?上下分割,并打开一个新的文件。 :sp filename?左右分割当前打开的文件。 Ctrl+W v?左右分割,并打开一个新的文件。 :vsp filename移动光标 Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W
    把光标移到右边的屏。 Ctrl+W l 把光标移到左边的屏中。 Ctrl+W h 把光标移到上边的屏中。 Ctrl+W k 把光标移到下边的屏中。 Ctrl+W j 把光标移到下一个的屏中。. Ctrl+W w移动分屏 这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。
    向右移动。 Ctrl+W L向左移动 Ctrl+W H向上移动 Ctrl+W K向下移动 Ctrl+W J屏幕尺寸 下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。
    让所有的屏都有一样的高度。 Ctrl+W =?增加高度。 Ctrl+W +?减少高度。 Ctrl+W -
    (4)常用命令 处于普通模式下进行: j: 移动到下一行,k:移动到上一行,l:向右移动,h:向左移动 dd:剪切当前行 ,10dd:剪切从当前行后面10行 yy:复制当前行 ,10yy复制从当前行后面10行 p: 粘贴到当前行的下一行 o: 在当前行的下一行插入 r: 替换当前字符
    fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。 tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用) Fx:和 fx 类似,不过是往回找。 w:光标往前移动一个词。 b:光标往后移动一个词。 0:移动光标到当前行首。 ^:移动光标到当前行的第一个字母位置。 $:移动光标到行尾。 ):移动光标到下一个句子。 ( :移动光标到上一个句子。
    <Ctrl+F>:向下移动一屏。 <Ctrl+B>:向上移动一屏。 G:到文件尾 numG:移动光标到指定的行(num)。(比如 10G 就是到第 10 行) gg:到文件首 H:移动光标到屏幕上面 M:移动光标到屏幕中间 L:移动光标到屏幕下面 *:读取光标处的字符串,并且移动光标到它再次出现的地方。 #:和上面的类似,但是是往反方向寻找。 /text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n。 ?text:和上面类似,但是是反方向。 ma:在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。 `a:到书签 a 处。注意这个不是单引号,它一般位于大部分键盘的 1 的左边。 `.:到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它。
    i:在当前字符的左边插入 I:在当前行首插入 a:在当前字符的右边插入 A:在当前行尾插入 o:在当前行下面插入一个新行 O:在当前行上面插入一个新行 c{motion}:删除 motion 命令跨过的字符,并且进入插入模式。比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。ct!, 这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。 d{motion}:和上面差不多,但是不进入插入模式。
    ctags: 1)首先,需要安装 ctags,在终端里输入以下命令来安装 ctags apt-get install ctags 2)接下来,需要在 linux-2.6.30.4 主目录下递归地创建 tag 标记 cd linux-2.6.30.4 切换到内核主目录下 ctags -R 为内核里的所有函数递归地创建标记,此过程需要几分钟 3)做完以上两步之后,以后就可以直接使用 ctags 帮助我们搜索内核函数了 cd linux-2.6.30.4 必须在内核主目录下才能使用 ctags vim 打开 vim,在 vim 里输入 ctags 命令即可实现函数查找 命令 说明 :ta function 查看名为 function 的函数 :tnext 查看下一个 :tfirst 查看搜到的第一个 :ts function 查看名为 function 的函数,如果有多个则列表 Ctrl+] 进入光标所在的函数或结构体定义 Ctrl+o 返回到上一次的位置 gf 进入到光标所在的文件 表 4.4.1 查看内核函数的操作 例如,要查找 platform_device 的结构体定义,过程如下: 1)在 linux-2.6.30.4 目录下,打开 vim ” ,按下 :”进入命令行模式,输入:ts platform_device 2)按下回车后,可以看到搜到了两个结果,第 1 个结果是我们想要查找的,输入数字 1,然后回车 3)接下来就可以看到 platform_device 结构体的定义了
    linux查看当前文件夹大小: du -sh .
    Linux设置定时任务:
    1) 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 2)直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务 10 13 25 9 * root rm -rf /mnt/fb --m h dom mon dow user command 分 小时 日 月 星期 用户 命令
    查看库是否编译正确
    ldd –r lib.so //动态库 nm libfirst.a | more //静态库
    查看端口状态 netstat -apn | grep 端口号 lsof -i | grep 端口号 二、用端口扫描器nmap来检查哪些端口正在监听网络 判定哪些端口在监听来自网络上的 TCP 连接是: nmap -sT -O localhost 查看文件尾部 tail –f filename linux下抓tcpdump包 tcpdump -s0 -vvvX host 218.17.157.74 and port 9015 查看core文件依赖 file core.110
      浅析Linux下core文件
      ulimit -a --查看core熟悉 ulimit -c 1024 --设置core产生大小 ulimit -c unlimited --设置core文件产生不受限制
      查看文件系统大小 df -h 查看分区块大小 du -h --max-depth=1 [文件夹名称] 查看指定文件夹大小 查看磁盘的使用情况 df -h 文件系统 容量 已用 可用 已用% 挂载点
      /dev/sda1 18G 6.9G 9.7G 42% /
      tmpfs 442M 0 442M 0% /dev/shm fdisk -l 能列出机器中所有磁盘的个数,也能列出所有磁盘分区情况 cat /proc/partitions 查看目前机器中的所有磁盘及分区情况 查看内存大小
      参数:free [-m|g]按MB,GB显示内存
      查看cpu cat /proc/cpuinfo
      只看cpu数量 grep "model name" /proc/cpuinfo | wc -l 只核心数量 grep 'core id' /proc/cpuinfo | sort -u | wc -l 只看线程数据 grep 'processor' /proc/cpuinfo | sort -u | wc -l 查看系统内存 cat /proc/meminfo
      查看每个进程的情况 ps -ef
      查看负载 w
      uptime

      查看磁盘io负载: iostat -x 1 10 查看实时内存使用情况 top 查看文件夹大小
      du -h --max-depth=0 [dir] du -sh [dir]
      查看程序的各段大小
      size ./test
      text data bss dec hex filename 1252 292 8 1552 610 ./test
        linux 给文件夹的所有子文件夹授权
        chmod -R 777 /var/home/userid/cc
        Linux下设置快捷方式: alias bin="cd $SCS_ROOT/bin" linux联机下拷贝文件命令: scp username@host:path/filename . 解压与压缩(bz2文件压缩率比较好)
        *.tar.bz2文件命令,解压:tar -jxvf *.tar.bz2 , 压缩:tar -jcvf *.tar.bz2 文件夹名称 *.tar.gz文件命令, 解压:tar -xvf *.tar.gz 压缩:tar -cvf *.tar.gz 文件夹名称 *.zip文件命令,解压:unzip 文件名称, 压缩:zip *.zip 文件夹名称
        RPM安装包:
        rpm -qa | grep tcp
        rpm -ivh test.rpm 安装
        rpm -Uvh test.rpm 升级
        启用ubuntu root 用户 sudo passwd root
        输入结束符 EOF ctrl +d
        常用命令查看cpu cat /proc/cpuinfo
        常用命令查看内存 cat /proc/meminfo
        常用命令查看cpu是32位还是64位 getconf LONG_BIT
        常用命令查看当前linux的版本 cat /etc/redhat-release
        常用命令查看内核版本 uname -a
        常用命令查看当前时间 date

相关内容