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

linux学习札记

2015-10-12 10:17 579 查看
1. mount命令 mount [-参数] [设备名称] [挂载点]

  sd*代表scic硬盘 cdrom一般是/dev/hdc 软驱是/dev/fd

  -t vfstype -o options -a

  -a的意思是搜索/etc/fstab文件中满足条件的文件系统,进行挂载操作。格式: mount -a -t type -o options 不需要指定设备/目录

  除了在配置文件里写明,也可以用mount挂载windows共享文件(samba)

  #mkdir /mnt/winshare

  #mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare

  指定访问共享的用户名,密码,codepage指定编码与iocharset同意义。这里的windows 系统是中文简体。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312

  mount挂载u盘

  如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,用命令:

  fdisk -l

  #mkdir /mnt/upan

  #mount -t vfat /dev/sda1 /mnt/upan

mount ntfs on centos:

32位系统
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.i686.rpm 64位系统
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 2、安装rpmforge的rpm文件包
rpm -ivh rpmforge-release-0.5.2-1.el6.rf.i686.rpm
现在就可以直接用yum来安装了:yum install ntfs-3g

vim /etc/fstab

/dev/sdd /mnt/upan vfat rw,umask=0000,defaults 0 0
/dev/sdc1 /mnt/500G ntfs-3g rw,umask=0000,defaults 0 0

(because above two lines, I can't boot into system. Be careful!)

How to enbale network on boot:

vim /etc/sysconfig/network-scripts/ifcfg-enp3s0 ONBOOT=yes.

2. tar命令

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

--exclude FILE:在压缩的过程中,不要将 FILE 打包!如果多个file要继续加--exclude

-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

tar -cvf log.tar log2012.log 仅打包,不压缩!

tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 压缩

tar -jcvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩

tar jcvf - logs/ |split -b 3996m - logs.tar.bz2分卷压缩

cat logs.tar.bz2.a* | tar xjv解压缩

只查看目录的几种方法:

find . -type d -maxdepth 1

[b]ls -F | grep '/$'[/b]

[b][b]ls -l | grep '^d'
[/b][/b]

3. 查看版本 lsb_release -a

obj-m obj-y: 目标定义是Kbuild Makefile的主要部分,也是核心部分。主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作。 最简单的Kbuild makefile 只包含一行: 例子: obj-y += foo.o 该例子告诉Kbuild在这目录里,有一个名为foo.o的目标文件。foo.o将从foo.c 或foo.S文件编译得到。 如果foo.o要编译成一模块,那就要用obj-m了。所采用的形式如下: 例子: obj-$(CONFIG_FOO) += foo.o $(CONFIG_FOO)可以为y(编译进内核) 或m(编译成模块)。如果CONFIG_FOO不是y 和m,那么该文件就不会被编译联接了

驱动代码编译需要写makefile。make -C ~/kernel-2.6 M=`pwd` modules

This command starts by changing its directory to the one provided with the -C
option (that is, your kernel source directory). There it finds the kernel’s top-level
makefile. The M= option causes that makefile to move back into your module source
directory before trying to build the modules target

# Makefile2.6
ifneq ($(KERNELRELEASE),)
#kbuild syntax. dependency relationshsip of files and target modules are listed here.

mymodule-objs := hello.o
  obj-m := hello.o

else
PWD := $(shell pwd)

KVER ?= $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build #KDIR目录其实是链接到上面那个Makefile中的那个/usr/src/linux-source-2.6.15/*中
all:
  $(MAKE) -C $(KDIR) M=$(PWD)

clean:
  rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions

endif

如何看ubuntu版本:

lsb_release -a 或者 cat /etc/issue

像ubuntu如果还没有为root设置密码的话,可以用第一个用户(它默认有权使用sudo命令)来设置密码,sudo passwd root。

安装sudo apt-get openssh-server

securecrt中文乱码:在工具栏中点开“选项”,选择“会话选项” 在打开的“会话选项”中,选择“外观”。 在显示的“窗口和文本外观”中找到“字符编码”。 把“字符编码”设置为“UTF-8”。

之前在ubuntu上设置了pppoe,导致后来网络连接的标识不见了,解决方案:
vim /etc/network/interfaces
auto dsl-provider 改成 #auto dsl-provider
此外还将所有跟dsl相关的语句注释,重启,ok。

ubuntu进去文本模式:ctrl+alt+F1 打开sublime:subl

Linux下查看文件和文件夹大小 du -h --max-depth=1 work/testing
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: