Linux

来源:互联网 发布:长沙优化网站排名 编辑:程序博客网 时间:2024/06/06 11:02


linux


1.重启:reboot
2.切换用户: su root
3.删除文件:rm filename
4.删除文件夹:rm -rf(r递归的,f强制删除) filename
5.创建文件夹:mkdir filename
6.创建文件:touch filename
7.移动文件:mv file-path file-path  (mv 1.text ../(上层目录)    mv /*  ../  (当前目录所有文件,到上层目录))




8.查看文件内容:cat filename
9.显示当前目录:pwd
10.显示指定文件的详细信息,比ls更详细:stat             


11.压缩 tar -czvf 1.tar 1.text  (c:create  z:tar  v:显示过程 f:使用档案名)
12.查看压缩包内容 tar -ztvf 1.tar
13.解压 tar -xzvf 1.tar -C dir  (解包到指定文件夹)


14.查看语言:locale


15.创建嵌套目录 mkdir -p file_a/file_b


16.用户权限 


chmod ABC file


其中A、B、C各为一个数字,分别表示User、Group、及Other的权限。


A、B、C这三个数字如果各自转换成由“0”、“1”组成的二进制数,则二进制数的每一位分别代表一个角色的读、写、运行的权限。比如User组的权限A:


如果可读、可写、可运行,就表示为二进制的111,转换成十进制就是7。
如果可读、可写、不可运行,就表示为二进制的110,转换成十进制就是6。
如果可读、不可写、可运行,就表示为二进制的101,转换成十进制就是5。


一些人说的“4=r,2=w,1=x”的意思是:
r 代表读,w 代表写,x 代表执行,
如果可读,权限是二进制的100,十进制是4;
如果可写,权限是二进制的010,十进制是2;
如果可运行,权限是二进制的001,十进制是1;


具备多个权限,就把相应的 4、2、1 相加就可以了:
若要 rwx 则 4+2+1=7
若要 rw- 则 4+2=6
若要 r-x 则 4+1=5
若要 r-- 则 =4
若要 -wx 则 2+1=3
若要 -w- 则 =2
若要 --x 则 =1
若要 --- 则 =0


为不同的角色分配不同的权限,放在一起,就出现 777、677这样的数字了。 


你也可以用 chmod u+x  file  的方式为User组添加运行权限。






17.makefile


    前面是tab分割符,不能用空格,否则会出现:


  “makefile:2: *** 遗漏分隔符 。 停止。”
  “makefile:4: *** 遗漏分隔符 。 停止。” 
  “makefile:6: *** 遗漏分隔符 。 停止。”
  “makefile:8: *** 遗漏分隔符 。 停止。”
  “makefile:10: *** 遗漏分隔符 。 停止。”
   这样的错误提示。




    变量objects


  objects = main.o kbd.o command.o display.o /
              insert.o search.o files.o utils.o


  这样一来,原来的makefile变成如下的样子:


  objects = main.o kbd.o command.o display.o /
              insert.o search.o files.o utils.o


    edit : $(objects)
            cc -o edit $(objects)
    main.o : main.c defs.h
            cc -c main.c
    kbd.o : kbd.c defs.h command.h
            cc -c kbd.c
    command.o : command.c defs.h command.h
            cc -c command.c
    display.o : display.c defs.h buffer.h
            cc -c display.c
    insert.o : insert.c defs.h buffer.h
            cc -c insert.c
    search.o : search.c defs.h buffer.h
            cc -c search.c
    files.o : files.c defs.h buffer.h command.h
            cc -c files.c
    utils.o : utils.c defs.h
            cc -c utils.c
    clean :
            rm edit $(objects)


  这样看起来方便多了吧,也更加省事了。如果有新的.o文件怎么办?当然是在objects里面添加了,这样只需要一处改变,很方便吧。


  让make自动推导


  GNU的make很强大,它可以自动推导文件以及文件依赖关系后面的命令,于是我们就没必要去在每一个[.o]文件后都写上类似的命令,因为,我们的make会自动识别,并自己推导命令。


  只要make看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中,如果make找到一 个whatever.o,那么whatever.c,就会是whatever.o的依赖文件。并且 cc -c whatever.c 也会被推导出来,于是,我们的makefile再也不用写得这么复杂。我们的是新的makefile又出炉了。


  objects = main.o kbd.o command.o display.o /
              insert.o search.o files.o utils.o


    edit : $(objects)
            cc -o edit $(objects)


 


    main.o : defs.h
    kbd.o : defs.h command.h
    command.o : defs.h command.h
    display.o : defs.h buffer.h
    insert.o : defs.h buffer.h
    search.o : defs.h buffer.h
    files.o : defs.h buffer.h command.h
    utils.o : defs.h


  clean :
            rm edit $(objects)






18.GDB
file <文件名> 加载被调试的可执行程序文件。


r(run)  运行被调试的程序


c(continue)继续运行,一直到下一个断点,或者程序结束


b(break)下断点,后面+函数名+行号
d(delete breakpoint)删除断点 + 行号(不加默认删除所有断点)


s(step)单行执行(会进入函数)
n(next)单条执行(连同函数一并执行)




b(break)  b if n = 10


j(jump) + 行号  跳转到某一行




watch + 变量或者条件(实时跟踪变量的变化)


rwatch + 被读的时候
awatch + 被读写的时候




19.运行程序
 ./edit




forward-search print  (当前位置向前查看print在哪一行)
reserve-search print  (当前位置向后查看print在哪一行)
search print          (当前位置查看print在哪一行)


"打开语法高亮
syntax on


"使用配色方案
colorscheme desert


"打开文件类型检测功能
filetype on


"不同文件类型采用不同缩进
filetype indent on


"允许使用插件
filetype plugin on
filetype plugin indent on


"关闭vi模式
set nocp


"与windows共享剪贴板
set clipboard+=unnamed


"取消VI兼容,VI键盘模式不易用
set nocompatible


"显示行号, 或set number
set nu


"历史命令保存行数 
set history=100 


"当文件被外部改变时自动读取
set autoread 


"取消自动备份及产生swp文件
set nobackup
set nowb
set noswapfile


"允许使用鼠标点击定位
set mouse=a


"允许区域选择
set selection=exclusive
set selectmode=mouse,key


"高亮光标所在行
set cursorline


"取消光标闪烁
set novisualbell


"总是显示状态行
set laststatus=2


"状态栏显示当前执行的命令
set showcmd


"标尺功能,显示当前光标所在行列号
set ruler


"设置命令行高度为3
set cmdheight=3


"粘贴时保持格式
set paste


"高亮显示匹配的括号
set showmatch


"在搜索的时候忽略大小写
set ignorecase
 
"高亮被搜索的句子
set hlsearch
 
"在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch


"继承前一行的缩进方式,特别适用于多行注释
set autoindent


"为C程序提供自动缩进
set smartindent


"使用C样式的缩进
set cindent


"制表符为4
set tabstop=4


"统一缩进为4
set softtabstop=4
set shiftwidth=4


"允许使用退格键,或set backspace=2
set backspace=eol,start,indent
set whichwrap+=<,>,h,l


"取消换行
set nowrap


"启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI


"在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\


"光标移动到buffer的顶部和底部时保持3行距离, 或set so=3
set scrolloff=3


"设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936


"设定字体
set guifont=Courier_New:h11:cANSI
set guifontwide=新宋体:h11:cGB2312
 
"设定编码
set enc=utf-8
set fileencodings=ucs-bom,utf-8,chinese
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim


"自动补全
filetype plugin indent on
set completeopt=longest,menu


"自动补全命令时候使用菜单式匹配列表
set wildmenu
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet
原创粉丝点击