Linux常见指令及权限理解

1.Linux下的重要目录: /proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
(1)/proc:
特殊文件目录。这个目录采用一种特殊的文件格式(proc格式,内核支持这种格式。其中包括了全部虚拟文件。它们并不是保存在磁盘中,也不占用磁盘空间,当查看它们时,实际上看到的是内存里的信息,这些文件有助于我们了解系统内部信息)。
(2)/sys: 文件系统访问 Linux内核 。

(3)/ SElinux: SELinux 是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。

(4)/bin:普通用户可以使用的命令存放目录。
(5)/usr/lib:
系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
(6)/usr/local:存放软件升级包
(7) /var:内容经常变化的目录。此目录下文件的大小可能改变,如缓冲文件、日志文件、缓存文件等一般会放在这里。
(8)/tmp:一般用户或正在执行的程序临时存放文件的目录即临时文件,任何人都可以访问,重要数据不可放置在此目录下 
(9)/etc/:全局配置文件存放目录。系统和程序一般都可以通过修改相应的配置文件来进行配置。
2. Linux下的重要命令:du, df, top, free, pstack, su, sudo(sudo -,sudo -s), adduser
(1)du作用是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。
主要参数:
a:显示全部目录和其次目录下的每个档案所占的磁盘空间
s:只显示各档案大小的总合
b:大小用bytes来表示
x:跳过在不同文件系统上的目录不予统计
a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数
(2)top 基本格式df [options]
作用:命令用来显示执行中的程序进程,使用权限是所有用户
主要参数:
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top。
(3)df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。
主要参数:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。
(4)free 格式free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
作用:free命令用来显示内存的使用情况,使用权限是所有用户。
主要参数:
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
(5)su格式 su [选项]… [-] [USER [ARG]…]
作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
主要参数
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。
(6)sudo(sudo -, sudo -s)
命令的配置在/etc/sudoers文件中。当用户使用sudo时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录。sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用sudo是非常适合的。
*pstack*命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。(man,可以爷们一下)
(7)adduser
(1)创建用户命令两条:
adduser
useradd
(2)用户删除命令:
userdel
两个用户创建命令之间的区别
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。

3. Linux中权限理解

(1)进入目录只需要执行(x)权限。

(2)在目录中执行增删查(cd, touch,ls, rm, mv等)改文件动作, 分别需要哪些权限。(读(r)、写(w)、执行(x))

touch:wrx

ls:rx

扫描二维码关注公众号,回复: 1866031 查看本文章
rm:rwx

4、如何使用命令安装gcc/g++, gdb, vim

查看配置

首先,在命令行中输入vi查看一下vim的信息:

输入ls -a查看是否存在.vimrc和.viminfo这样的配置文件,结果如下:

1.配置gcc/g++

Centos中使用yum来配置gcc和g++,若要安装gcc,则在命令行中输入:yum -y install gcc,按回车键就能够进行gcc的安装,若要安装g++,则需要在命令行中输入:yum -y install gcc-c++,就能够进行g++的安装。

配置gdb

1.在linux系统中,打开网页http://ftp.gnu.org/gnu/gdb/,会出现如下的界面:

这里显示的都是一些gdb工具的压缩包,然后,我们选择其中的一个版本进行下载.
假如选择的是gdb-7.10版本的下载好了后.
在命令窗口中输入:tar xzvf gdb-7.10.1tar.gz ,解压完后,能够查看到gdb-7.10.1的一个文件
进入解压后的目录中:cd gdb-7.10.1
输入命令:./configure ,完成后使用dir查看
输入命令:make ,将GDB进行编译
输入make install ,进行安装GDB
使用:gdb -v 查看GDB的版本信息,确认安装是否正确 
vim配置

vim 是Linux的一种文本编辑器。
vim模式:三种模式:普通模式、插入模式、底行模式 
简单配置vim:在用户根目录下找到一个隐藏文件名为.vimrc将其内容改变为以下代码即可完成配置

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设定默认解码 
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 
 
" 不要使用vi的键盘模式,而是vim自己的 
set nocompatible 
 
" history文件中需要记录的行数 
set history=100
 
" 在处理未保存或只读文件的时候,弹出确认 
set confirm 
 
" 与windows共享剪贴板 
set clipboard+=unnamed 
 
" 侦测文件类型 
filetype on 
 
" 载入文件类型插件 
filetype plugin on 
 
" 为特定文件类型载入相关缩进文件 
filetype indent on 
 
" 保存全局变量 
set viminfo+=! 
 
" 带有如下符号的单词不要被换行分割 
set iskeyword+=_,$,@,%,#,- 
 
" 语法高亮 
syntax on 
 
" 高亮字符,让其不受100列限制 
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white 
:match OverLength '\%101v.*' 
 
" 状态行颜色 
highlight StatusLine guifg=SlateBlue guibg=Yellow 
highlight StatusLineNC guifg=Gray guibg=White 
 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍) 
set nobackup 
 
" 不要生成swap文件,当buffer被丢弃的时候隐藏它 
setlocal noswapfile 
set bufhidden=hide 
 
" 字符间插入的像素行数目 
set linespace=0
 
" 增强模式中的命令行自动完成操作 
set wildmenu 
 
" 在状态行上显示光标所在位置的行号和列号 
set ruler 
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%) 
 
" 命令行(在状态行下)的高度,默认为1,这里是2 
set cmdheight=2
 
" 使回格键(backspace)正常处理indent, eol, start等 
set backspace=2
 
" 允许backspace和光标键跨越行边界 
set whichwrap+=<,>,h,l 
 
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位) 
set mouse=a 
set selection=exclusive 
set selectmode=mouse,key 
 
" 启动的时候不显示那个援助索马里儿童的提示 
set shortmess=atI 
 
" 通过使用: commands命令,告诉我们文件的哪一行被改变过 
set report=0
 
" 不让vim发出讨厌的滴滴声 
set noerrorbells 
 
" 在被分割的窗口间显示空白,便于阅读 
set fillchars=vert:\ ,stl:\ ,stlnc:\ 
 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮显示匹配的括号 
set showmatch 
 
" 匹配括号高亮的时间(单位是十分之一秒) 
set matchtime=5
 
" 在搜索的时候忽略大小写 
set ignorecase 
 
" 不要高亮被搜索的句子(phrases
set nohlsearch 
 
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索) 
set incsearch 
 
" 输入:set list命令是应该显示些啥? 
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$ 
 
" 光标移动到buffer的顶部和底部时保持3行距离 
set scrolloff=3
 
" 不要闪烁 
set novisualbell 
 
" 我的状态行显示的内容(包括文件类型和解码) 
set statusline=%F%m%r%h%w\[POS=%l,%v][%p%%]\%{strftime(\"%d/%m/%y\ -\ %H:%M\")} 
 
" 总是显示状态行 
set laststatus=2
 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自动格式化 
set formatoptions=tcrqn 
 
" 继承前一行的缩进方式,特别适用于多行注释 
set autoindent 
 
" 为C程序提供自动缩进 
set smartindent 
 
" 使用C样式的缩进 
set cindent 
 
" 制表符为4 
set tabstop=4
 
" 统一缩进为4 
set softtabstop=4
set shiftwidth=4
 
" 不要用空格代替制表符 
set noexpandtab 
 
" 不要换行 
set nowrap 
 
" 在行和段开始处使用制表符 
set smarttab 
 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名称排序 
let Tlist_Sort_Type = "name"
 
" 在右侧显示窗口 
let Tlist_Use_Right_Window = 1
 
" 压缩方式 
let Tlist_Compart_Format = 1
 
" 如果只有一个buffer,kill窗口也kill掉buffer 
let Tlist_Exist_OnlyWindow = 1
 
" 不要关闭其他文件的tags 
let Tlist_File_Fold_Auto_Close = 0
 
" 不要显示折叠树 
let Tlist_Enable_Fold_Column = 0
 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示 
 
if has("autocmd") 
autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number 
autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o--> 
autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o 
autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100
autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim 
autocmd BufReadPost * 
\ if line("'\"") > 0 && line("'\"") <= line("$") | 
\ exe " normal g`\"" | 
\ endif 
endif "has("autocmd") 
 
" F5编译和运行C程序,F6编译和运行C++程序 
" 请注意,下述代码在windows下使用会报错 
" 需要去掉./这两个字符 
 
" C的编译和运行 
map <F5> :call CompileRunGcc()<CR> 
func! CompileRunGcc() 
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc 
 
" C++的编译和运行 
map <F6> :call CompileRunGpp()<CR> 
func! CompileRunGpp() 
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc 
 
" 能够漂亮地显示.NFO文件 
set encoding=utf-8
function! SetFileEncodings(encodings) 
let b:myfileencodingsbak=&fileencodings 
let &fileencodings=a:encodings 
endfunction 
function! RestoreFileEncodings() 
let &fileencodings=b:myfileencodingsbak 
unlet b:myfileencodingsbak 
endfunction 
 
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single au BufReadPost *.nfo call RestoreFileEncodings() 
 
" 高亮显示普通txt文件(需要txt.vim脚本) 
au BufRead,BufNewFile * setfiletype txt 
 
" 用空格键来开关折叠 
set foldenable 
set foldmethod=manual 
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR> 
 
" minibufexpl插件的一般设置 

mv: wrx


猜你喜欢

转载自blog.csdn.net/fantian_/article/details/79390875