Linux 笔记.docx
《Linux 笔记.docx》由会员分享,可在线阅读,更多相关《Linux 笔记.docx(18页珍藏版)》请在冰豆网上搜索。
Linux笔记
Linux笔记
一、基本操作
1、新建文件目录mkdir
2、建立多级目录的文件夹mkdir–p
eg:
akaedu@ubuntu:
~$mkdir-pa/a/a/a
akaedu@ubuntu:
~$lsa/a/a
a
3、新建文件touch
4、显示文件树目录tree
Eg:
akaedu@ubuntu:
~/aa$tree
.
|--a
`--b
0directories,2files
5、..是往上跳一层.是往上跳一层
./a和a是同样的意思
6、移动mv
7、删除rm-r删除空目录的文件夹
rm删除文件
8、绝对路径/home/peter/test
相对路径./直接指定所在的文件夹
9、隐藏文件.文件名
查询隐藏文件ls-a
在最后面加上.将目标文件移动到当前文件夹之中
eg:
akaedu@ubuntu:
~$cdtest
akaedu@ubuntu:
~/test$mv./bb/c.
akaedu@ubuntu:
~/test$ls
aabbc
10、修改文件名:
直接mv原文件名称新文件名称
eg:
~/test/bb$mv.cc
11、返回到上一层:
cd..
eg:
akaedu@ubuntu:
~/test/c$cd..
akaedu@ubuntu:
~/test$
12、复制:
cp-r文件名称目标文件夹
注(如果为文件夹则要加—r如果为文件则直接用文件名称不需要加
-r)
eg:
akaedu@ubuntu:
~/test$cp-raac
akaedu@ubuntu:
~/test$lsc
aa
13、返回到上一层为一个点返回到上两层为两个点
eg:
akaedu@ubuntu:
~/test$lsbb
aa
akaedu@ubuntu:
~/test$mv./bb/.
mv:
"./bb/"与"./bb"为同一文件
akaedu@ubuntu:
~/test$mv./bb/aa.
akaedu@ubuntu:
~/test$ls
aabbc
14、放大:
ctrl+shift+"+"
放小:
ctrl+“—”
直接全屏:
F11或者ctrl+alt+enter
补全当前文件夹下文件名:
首文件名称+tab键
eg:
akaedu@ubuntu:
~$cdDoc按TAB键自动会生成:
akaedu@ubuntu:
~$cdDocuments/直接就打开了文件夹
15、删除多个含有a的文件a*删除两个或者多个字符文件a?
删除一
个字符文件
eg:
aaaDocumentslinux-cross-toolTemplatesVideos
a.cDownloadsMusictest
cdexamples.desktopPicturestset
Desktophello.cPublicUbuntuOne
akaedu@ubuntu:
~$rma*
akaedu@ubuntu:
~$ls
cdexamples.desktopPicturestset
Desktophello.cPublicUbuntuOne
Documentslinux-cross-toolTemplatesVideos
DownloadsMusictest
16、命令:
akaedu@ubuntu:
~$cd\代表命令没有完成
>后面是要再写入的新的命令继续操作
窗口叫temnol终端仿真器
17、里面的内容叫bash
apt-get软件升级命令
sudo是软件安装命令sudoapt-getinstall
服务器列表更新:
sudoapt-getupdate连接ubuntu公司的服务器获得最新的url维护ubuntu系统
软件更新服务器列表:
vin/etc/apt/sources.lisr
二、vim
vim快速编辑
1、目录文件
test创建文本文件
创建文件:
test/newfile敲enter进入vim编辑界面
2、操作
分模式的编辑器
模式(modes):
正常模式(命令模式:
敲任何字符都不会显示在界面上面而被解释成为命令)
直接启动vim直接敲字符不能显示
X:
删除一个字符的命令
I:
模式转换转换为插入模式
小写和大写的区别:
IioO
大写O在上一行新建一行插入
小写o在下一行新建一行进行插入
插入模式:
模式转换:
有插入模式转换为正常模式敲ESC
由正常模式转化为插入模式敲i
3、退出vim
shift+ZZ
Esc:
wqesc:
q!
4、未命名的文件保存并退出正常模式下(按esc键):
w名字退出
5、搜索goolegcc教程(gcctutorial)
6、vimtutor助教帮助教程
7、视频教程(.mov):
happypeter.org关于vim的教程
8、下载操作:
wget+链接地址下载文件:
gitclone+下载网络
结束下载ctrl+c
粘贴:
shift+Insert
打开播放视频文件totem+文件名
9、停止(结束)进程ctrl+c
10、打开新的窗口命令:
ctrl+shfit+t新建
关闭一个tap:
ctrl+d
切换窗口:
ctrl+pageup/pagedown
11、全屏:
ctrl+alt+enter
12、移动:
h左j上k下l右
13、首先进入命令模式的原因:
在命令模式下对文件的插入字符不能实现但是他修改操作很快(拷贝复制移动删除)
14、命令:
删除一行:
dd
粘贴:
p粘贴最后删除的内容
粘贴到光标位置的后面p粘贴到光标位置的前面P
粘贴进入vim在插入模式下shift+insert
删除:
x删除一个字母
cw删除一个单词
dd数字w删除数字显示的单词w是指word(数字是指几个单词)eg:
d3w删除光标后面三个单词
dd删除**一行程序相当于d$
2dd删除两行内容
dgg:
删除光标之前所有的程序
dGG:
删除光标之后到末尾的所有的程序
d【number】object删除命令操作的对象
de删除光标到这个单词末尾的所有字符
大写C删除光标后面改行的所有内容
拷贝:
y
yy拷贝一行的内容
eg:
y3w
yGG复制光标到程序最后面的所有程序
ygg复制光标到文件的最前面的所有的程序
剪贴:
在可视模式下选择d(剪贴)p(粘贴)
缩进:
ctrl+t
退格:
ctrl+d
撤销:
upctrl+r恢复u所恢复的内容
选择:
shift+v可视模式下选择取消也是用是shift+v(可视行)
小写v是以字符为单位的选择;
Ctrl+v是以块为单位的选择(可视块)
保存:
名字为以.c为后缀名表示在C语言环境下面编程的
Shfit+zz保存退出
移动(Motion):
G光标移动到最后面gg光标移动到前面
I………………………………………A相当于
0i………………………………………$a
大写A移动到行末尾同时进入插入模式
小写a光标处插入字符
大写的I是光标移动到行前进行插入
光标从文件的中间位置移动到文件的开始:
gg
最后:
GG
用office打开文件:
openoffice.org+文件名
用pdf打开文件:
evince+文件名
可以在最下面的用:
+h+需要找的键查找帮助文件
Eg:
:
hv显示小写v的内容
在插入模式下ctrl+字母的命令:
1>ctrl+n匹配补齐文件名联想补齐功能联想头文件本文件
eg:
帮助文件查找:
hi_ctrl+n(i表示在插入模式下)
2>函数名上面在命令模式下大写K显示函数说明接口的类型(函数类型函数属性)
【相当于用man加函数名】底层的调用机制为vim
在man里面搜索/查找的关键字小写的n查找下一处该关键字q推出到vim
3>Ctrl+x+l重写以前写过的内容
4>
14、编译:
cc文件名生成可执行性文件eg:
a.out执行./a.out
:
sh用vim打开bash原来的vim没有关闭只是显示我们当前的内容原来的vim并没有关闭用ctrl+d就又回到原来的位置
在sh之前必须敲w保存然后再测试
Ctrl+d回到到编译的所在的行的位置
eg:
akaedu@ubuntu:
~/test$./a.out
helloworld!
15、git-core命令:
sudoapt-getinstallgit-core:
(gitslonegit:
//
16、社团:
北京linux用户组{招聘linux论坛(forum)}
Peter的个人网站
Git
1、introduction
git是指版本控制:
教材:
progit(git入门教材)
2、操作:
1>git--version
gitversion1.7.0.4……………………版本
2>最早原型helloword
模拟原型操作:
(1)cdlinux
(2)vimkernel.c
(3)gitinit初始化版本信息生成....git文件
(4)gitaddkernel.c跟踪add后面添加的文件通知git跟踪文件
(5)建立第一个版本:
gitcommit-a-m"firstversion"(commit做版本)(-m版本留言)(-a:
:
)
(6)建立第二个版本:
gitcommit-a-m"secondversion"
(7)回到第一个版本:
gitreset--hardHEAD^
HEDA:
最新的状态HEAD^指上一个状态
Reset重置到上一个状态
(8)Tig显示改版历史(只记录差异)敲小写的d显示修改内容退出q
(9)mkdir
3>跟踪变量:
调试器/printf
gitdiff查看输出的命令显示变量的增减
home/vim.gitconfig
gitpush:
做的版本送到网站上面
{gitcigitpush上传文件
gitpull下载刚才上传的文件gitclone网络地址
}
1.gitci必须命名不然就保存到当前的ci里覆盖了上一次的ci文件
2.throwh是返回到上一层(头文件内容)的位置
3.新的文件必须gitinit和gitadd然后才能gitci这样才能将新的文件跟踪到ci中
4.respository仓库(文件夹)git里面装文件地方是指.git
工作树(workingtree):
可以用ls看到文件夹(用tree命令输出的树:
文件和文件夹)
5.gitthrow恢复操作
6.git–rf*删除所有文件和文件夹
eg:
如果用git–rf*删除的可以用gitthrow来恢复操作
7.
老师的git笔记
1#git
3repository====workingtree
4
5##installation
7sudoapt-getinstallgit-core
8##creatarepo
9mkdirmyproj
10cdmyproj
11gitinit
12vimhello.c
13gitaddhello.c
14gitcommit-a-m"firstcommit"
15tig
16##gobacktohistory
18gitreset--hardHEAD
19gitreset--hardHEAD^
21##configfile
23global:
~/.gitconfig
25local:
myproject/.git/config
Markdown
程序=代码+文档
1、用网页显示内容
vimtest.md
markdowntest.md>a.html
firefoxa.html
3、更改字体:
程序:
——sjhfdjf——两个是粗体
##sfb###控制字体大小越少则字体越大但最多有六个
—shbfj—一个—是斜体
———bsafhb———三个—斜体又粗体
删除tig以前的内容
2052tig
2053gitcheckout5e7c7c1c2843f46e209282caa507a8a4508d536c-btmp
2054gitbr
2055tig
2056gitbr-Dmaster
2057gitcheckout-bmaster
2058gitbr
2059tig
2060gitbr-Dtmp
2061gitpull
2062gitpulloriginmaster
2063tig
2064history
先用tig的建立temp然后
结束命令
kill进程号
ps显示当前进程psaux显示系统所有进程
eg:
psaux|grepvim
fng39460.00.1130283736pts/4S+10:
390:
00vimRedirection.md
fng40080.00.05624768pts/5R+10:
420:
00grep--color=autovim
kill-9程序代码代码:
强行关闭程序已经死掉的(内容存在)
kill-9和kill的区别;
程序关闭还有动作:
整理数据垃圾删除临时文件
kill-9程序结束函数没有执行垃圾数据没有删除程序已经死掉的
kill执行最后一个函数整理垃圾删除垃圾数据
kill不加参数直接关闭程序
quit:
只打印函数一行内容
eg:
1、psaux|catRedirection.md|grepRedirection
#Redirection####(重定向)
…………输出的是Rediretion这一行的内容
2、catRedirection.md|grep-nRedirection-n显示行号
2:
#Redirection####(重定向)
…………2为行号
文件定位:
locate文件名定位文件的位置查找数据据库
局限性:
只能定位存储12小时以上的文件可以sudoupdatedb更新数据库就可以找到
find:
find.|grep文件名可以定位任何时候创建的文件
安装软件:
sudodpkg-i文件名(.deb格式)
卸载软件:
sudoapt-getpurge文件名
进入超级用户:
1.sudopasswdroot
2.输入新密码UNIX密码:
3.重新输入新的UNIX密码:
suroot
密码:
2、sudosu变身超级用户用exit退出超级用户
文档权限
命令:
chmod
1.显示权限:
ls-l……ls-ld
eg:
ls-l/bin/ls权限格式:
-rwxr-xr-x每位显示有4个字符为8进制显示
2.
3.rwxrwxrwx每个字母有一个数字代表(0-8的8进制数)
100020004
4.命令:
chmod代码文件名
eg:
chmod444a.c……………………444是由100100100的二进制数转换来的
5.可用sudo命令文件名虚拟的超级用户
6.当修改了执行权限后进入root也可对文件进行修改<1>suroot<2>密码:
<3>执行
vim(补充笔记)
修改vim的配置文件新建.vimrc用vim打开
显示行号:
setnu
输入setnu保存退出
fng@CJ7:
~$vim.vimrc
隐藏行号:
setnonu
自动缩进:
setautoindent
输入setautoindent保存退出
vim命令
ctfl+c终止当前文件
ctrl+d结束发文件结束符(关闭bash)
ctrl+z转向后台运行fg+回车转向前台运行
跳转行数:
n跳到第n行
在vim里用jj代替ESC
在c.snipmate里面当光标到+上面的时候敲zx可以显示折叠的内容放在#前面再敲zx可以折叠
当在新建一行程序后按tab就可以补齐命令然后直接敲tab键直接对单词修改
读代码方式:
1、读main函数
2、读调用的函数接口(调用函数)
ctags:
ctags+文件名(c语言tag标签…………c语言的标签<关键词宏定义数据类型不算>)
ctrl+】直接从函数的所处位置跳到调用位置ctrl+t回到函数调用处
vimtags显示函数调用次数
eg:
fng@CJ7:
~$ctagshello.c
1!
_TAG_FILE_FORMAT2/extendedformat;--format=1willnotappend;"tolines/
2!
_TAG_FILE_SORTED1/0=unsorted,1=sorted,2=foldcase/
3!
_TAG_PROGRAM_AUTHORDarrenHiebert/dhiebert@users.so
4!
_TAG_PROGRAM_NAMEExuberantCtags//
5!
_TAG_PROGRAM_URL/officialsite/
6!
_TAG_PROGRAM_VERSION5.9~svn20110310//
7mainhello.c/^intmain(intargc,constchar*argv[])$/;"f
8say_three_hihello.c/^voidsay_three_hi(void)$/;"f(f为函数名)
#include
2voidsay_three_hi(void);……………………声明
3intmain(intargc,constchar*argv[])
4{
5say_three_hi();……………………………………………………调用函数
6return0;
7}
8voidsay_three_hi(void)
9{
10inti;
11for(i=0;i<3;i++)
12{
13/*code*/
14printf("hi\n");
15}
16}
main.c
1#include"say_three_hi.c"
2intmain(intargc,constchar*argv[])
3{
4say_three_hi();
5return0;
6}
say_three_hi.c
1#include
2voidsay_three_hi()
3{
4inti;
5for(i=0;i<3;i++)
6{
7printf("hi\n");
8}
9}
say_three_hi.h
voidsay_three_hi();
程序做完后出现三个文件main.c.c.h执行main.c^ccmain.c产生a.out
diffsaved:
在一个窗口查看修改过的文件和没修改的文件的区别
w直接打开网页
eg:
新建a.c写入按,w就可以直接打开firefox显示XX网站
vim文件配置
mvpeter-vim/vimrc.vimrc………………在home下面改名
mvpeter-vim.vim………………………改名使位置正确才能让插件生效!
安装exuberant-ctag插件使vim启动时不会报错
185cd.vim
186ls
187catREADME
188cd
189sudoapt-getinstallexuberant-ctag
snipmatevim的插件(snip代码小片段mate朋友)——代码片段
eg:
敲main则会替换成为
#include
intmain(intargc,constchar*argv[])
{
return0;
}
这个模板在.vim/snippets/c.snippets里面打开修改
GIT
gitcheckout+版本号取出这个版本号所处的状态
这时如果这时打开这个文件则这个文件显示的是ci第几次时的内容
如果再checkoutsecond就可以查看这次ci时的内容
eg:
删除tig
gitcheckoutmaster………………回到最初状态
tig
2011-05-1514:
46Fu.liuwei[11]shanxiligongxue~
回到主分支gitcheckoutmaster
gitcheckout-D加文件名删除这个tig(历史记录)
要执行这个删除必须回到最早记录用gitcheckoutmaster
然后执行gitcheckout-D+名字(或者版本号)
eg:
gitcheckout-D11………………删除11这个