linux笔记基础部分Word下载.docx
《linux笔记基础部分Word下载.docx》由会员分享,可在线阅读,更多相关《linux笔记基础部分Word下载.docx(62页珍藏版)》请在冰豆网上搜索。
wq
4.4复制一行yy
复制N行Nyy
复制到行末y$
复制到行首y^
复制1个单词yw
复制N个单词Nyw
4.5剪切一行dd
剪切N行Ndd
剪切到行末d$
剪切到行首d^
剪切1个单词dw
剪切N个单词Ndw
4.6粘贴p
4.7撤销u
4.8恢复ctl+r
4.9查找,比如找string
/string:
从光标所在处往下查找
?
string:
从光标所在处往上查找
4.10替换,比如要将hello替换成HellO
:
%s/hello/HellO:
将文件中所有的hello替换成HellO
2,5s/hello/HellO:
将文件中第2-5行的hello替换成HellO
4.11定位:
num(直接定位到第num行)
跳转到文件末尾G
跳转到文件开头gg
往下翻半页ctrl+d
往下翻半页ctrl+u
根目录和家目录
===================
1,根目录:
/
他是系统所有文件的起点
2,家目录:
/home/gec
这个目录是用户gec的家目录,在此目录中,gec拥有一切权限。
在bash中,按tab键可以自动匹配命令、参数、文件名等等,按两下tab键能将所有匹配的信息全部列出。
ls(list)
===========================
1,列出文件信息
2,ls
ls-l
ls-a
ls–Sl
关于文件的类型
1,d目录
2,p管道
3,ssocket
4,-普通
5,c字符设备文件
6,b块设备文件
7,l符号链接文件
cat
=======================
1,用来显示文件内容
2,catfile
catfile-A(显示不可见字符)
more/less
1,用来分屏显示一个文件的内容
2,more/lessfile
ps-ef|more/less
rm(remove)
====================
1,删除文件或者目录
2,rmfile
rmdir/-r(因为dir是一个目录,所以要加-r)
注意:
这种删除一般是不可恢复的,删掉了不要去找垃圾桶。
cp(copy)
1,复制文件或者目录
2,cpfile1file2
cpdir1/dir2/-r(因为dir1是一个目录,所以要加-r)
mv(move)
1,移动文件/重命名文件
2,mvfiledir/(将文件file移动到目录dir/中去)
mvfile1file2(将文件file1重命名为file2)
mkdir(makedirectory)
============================
1,创建一个新目录
2,mkdirdir/(创建一个名叫dir的新目录)
mkdir-pa/b/c/d(接连创建多个空目录)
rmdir(removedirectory)
1,删除空目录(为了安全)
2,rmdirdir/(将空目录dir删掉)
cd(changedirectory)
1,改变当前工作路径
2,cddir/(将当前工作路径修改为dir/)
cd(没有参数,直接回家)
cd-(跳转到刚刚去过的地方)
find
1,在指定的目录下递归地查找某文件
2,查找的各种方式
2.1按文件名来找
find.-name"
sem*"
(在当前目录下,递归地查找所有以sem开头的文件)
find/opt-name"
*.c"
(在/opt目录下,递归地查找所有以.c为结尾的文件)
2.2按文件类型来找
find.-typec(在当前目录下,递归地查找所有的字符设备文件)
grep
1,在指定的文件内查找某字符串
2,grep'
apple'
file(在file文件里面查找apple这个字符串)
grep'
.-Hrnw(在当前目录下,递归地查找'
这个字符串,而且将其所在的文件名以及所在行都打印出来,w表示全字匹配)
man(manual)
1,查找帮助手册
2,安装
sudoapt-getinstallmanpagesmanpages-devmanpages-posixmanpages-posix-dev
3,查找帮助
gec@ubuntu:
~$manfind(直接查找find的帮助手册)
~$man-fread(列出所有关于read的帮助条目,再进行选择)
read
(2)-readfromafiledescriptor
read(3posix)-readfromafile
read(1posix)-readalinefromstandardinput
~$man3posixread
head/tail
1,查看文件的开头或者结尾几行
2,head/tail-nNfile(查看文件file开头/结尾的N行)
sort
==============
1,将文件中的内容,按行排序
2,sortfile(将文件file的内容排序,按照ASCII码的值的大小来排序)
uniq
1,将文件中相邻的重复的行去掉
2,uniqfile
diff(different)
1,比较文件或者目录
2,怎么用?
diff1.0/2.0/-NruB>
2.0.patch(对比1.0和2.0,生成补丁文件2.0.patch)
//N:
r:
递归方式,u:
输出格式为合并格式;
B:
2,difffile1file2(对比file1和file2,将差异按照原始格式输出)
difffile2file2-Nu(对比file1和file2,忽略由于空行引起的差异,然后以“合并格式”输出)
diffdir1/dir2/-Nru(递归地对比dir1/和dir2/,忽略由于空行引起的差异,然后以“合并格式”输出)
patch
1,打补丁
2.1先进入要打补丁的目录里面
cd1.0
2.2执行以下命令:
patch-p1<
2.0.patch(去掉1个前趋路径分量,然后打补丁)
提示:
如果不进入1.0里面,那么就要写-p0
file
1,查看一个文件的具体属性
2,filexxx
2014.07.22
mount(挂载)
========================
sudomount/dev/sr0(虚拟光盘节点)dvd---挂载虚拟光盘
sudoumountdvd
sudomount-onolock,tcp127.0.0.1:
/opt/targetdvd---挂载网络文件
进程相关:
ps----查询进程
===============================
ps-ef查看进程id号
kill[-9]进程号
killall进程名称
pstree(查看进程家族关系)
init─┬─NetworkManager───{NetworkManager}
├─accounts-daemon───{accounts-daemon}
├─acpid
├─atd
├─avahi-daemon───avahi-daemon
├─bluetoothd
├─colord───2*[{colord}]
├─console-kit-dae───64*[{console-kit-dae}]
├─cron
├─cupsd
├─2*[dbus-daemon]
├─dbus-launch
├─dconf-service───2*[{dconf-service}]
top查看进程运行情况
文件权限(chmod)
=================
-rw-rw-r--1gecgec376Jul2123:
42main.c
第一组:
文件所属者权限---u----4
第二组:
文件所属组权限---g----2
第三者:
其他用户权限------o----1
改变main.c文件所属者没有写权限
~$chmodu-wmain.c(u-w:
文件所有者的“写权限”)
~$ls-lmain.c
-r--rw-r--1gecgec376Jul2123:
改变main.c文件所属者没有写权限和读权限
~$chmodu-rmain.c
rw-rw-r--110110100---664
~$chmod664main.c(664:
权限为110110100)
用户权限:
==================================
adduser(添加用户)---添加了用户家目录--用户密码
~$sudoadduserhqd(hqd:
为新增加的用户名)
切换用户
~$suhqd
Password:
hqd@ubuntu:
/home/gec$
----------------------------------------------
useradd(添加用户)----不添加用户“家目录”和“用户密码“
~$sudouseraddzhangsan
查看用户/etc/passwd
/etc/passwd
hqd:
x:
1001:
heqingde,101,110,110,110:
/home/hqd:
/bin/bash
zhangsan:
1002:
:
/home/zhangsan:
/bin/sh
查看用户密码/etc/shadow
/etc/shadow
root:
!
15884:
0:
99999:
7:
(!
:
表示没有用户密码,root用户不可用)
....:
16273:
(乱码:
表示已经加密的用户密码)
...:
------------------------------------------------
添加用户密码
Passwd(添加或修改用户密码)
~$sudopasswdzhangsan
[sudo]passwordforgec:
EnternewUNIXpassword:
RetypenewUNIXpassword:
passwd:
passwordupdatedsuccessfully
deluser(删除用户)
~$sudodeluserhqd--remove-home
-----------------------------------------------
alias(设置别名)
aliascds='
cd/mnt/hgfs/77/LINUX基础'
unaliascds(删除别名)
Ifconfig(网络配置查询命令)
启用网卡
~$sudoifconfigeth0up
设置ip地址
~$sudoifconfigeth0192.168.1.229
测试网络
~$ping192.168.1.29
gec--ubuntu网络配置
网络配置文件
~$sudovim/etc/network/interfaces
auto后面的都删除
重启网络服务器
~$sudoservicenetwork-managerrestart
======================================================================
2014.07.23
调出终端快捷键ctrl+alt+t
vim高级使用
vim配置文件路径:
/etc/vim/vimrc
setnu(设置行号)--->
setnonu(取消行号)
setai(自动缩进)
echo"
xxxxxxxxxxxxx"
;
--->
在配置文件中打印
vim分页阅读
vim-O/ofile1.cfile2.c
sp(横分屏)
vsp(竖分屏)---快捷键:
ctrl+w+v
取消分屏ctrl+w+o
分屏之间切换光标ctrl+w+w
---------------------------------------------
vim块模式(块操作)---进入块模式ctrl+v
块插入
进入块模式选择要插入块I(大写i)在要插入地方写内容按esc
Ctrl+vXXXshift+IXXXXesc
---------------------------------------------
ctrl+p代码补齐
vim文本加密
setkey=xxxxxx保存退出(在编辑器里面的命令模式下运行)
setkey=按回车运行
----------------------------
在vim中运行shell命令
命令
服务器使用
===================================================
nfs服务器使用
--------------------
1.安装nfs服务器
sudoapt-getinstallnfs-kernel-server
2.配置(/etc/exports)在最后面添加共享路径权限如下:
/home/gec/nfs*(rw,sync,no_subtree_check,no_root_squash)
3.重启服务器(修改配置文件后,改ip地址后要重启)
sudoservicenfs-kernel-serverrestart
4.客户端挂载
sudomount-onolock,tcp192.168.1.54:
/home/gec/nfs(服务器)/home/gec/hqd(客户端)
5.卸载(卸载一定要在hqd目录外面,在hqd里面将不能卸载)
~$sudoumounthqd
tftp服务器使用
1.安装tftpd服务器
sudoapt-getinstallopenbsd-inetdtftpdtftp
2.tftp共享目录/etc/inetd.conf(查看共享目录)
tftpdgramudpwaitnobody/usr/sbin/tcpd/usr/sbin/in.tftpd/srv/tftp
(从文件里面可能知道,共享路径是srv里面的tftp目录)
3.创建共享目录若srv目录下没有tftp目录,则创建tftp目录)
gec@ubuntu:
/$cdsrv/
/srv$ls
/srv$mkdirtftp
mkdir:
cannotcreatedirectory`tftp'
Permissiondenied(提示权限不够)
/srv$sudomkdirtftp
/srv$sudochmod777tftp
4.把要下载的文件放在tftp目录下
创建一个文件main.c
5.客户端
5.1下载命令:
~/hqd$tftp192.168.1.8
tftp>
getmain.c(main.c:
要下载的文件的名称)
Received55bytesin0.1seconds(完成下载,提示文件大小和下载时长)
quit
5.2上传
tftp192.168.1.8
一:
putlinx.c(保证服务器有linx.c并且有写权限)
Sent55bytesin0.0seconds(提示上传文件大小和上传时长)
二:
putlinux.cmain.c(把linux.c上传到main.c,main.c要有写权限)
Sent206bytesin0.0seconds
2014.07.24
======================================
语言
机器语言--》汇编语言--》c语言
编译
c语言:
二进制代码
1.编辑代码(vim,gedit)
2.预处理(把头文件展开,替换宏)
gccmain.c-omain.i-E
3.编译
gccmain.i-omain.s-S
4.汇编
gccmain.s-omain.o-c
5.链接
gccmain.o-omain
gccmain.c-omain
编程规范
1.函数名(小写+下划线)
intsearch_data(intdata)
{
}
2.变量名(大写+小写)---见其名知其意
intstudentAge=0;
3.代码排版(美观,写代码给别人看)
数据类型()
Intfloatcharbooldoubleshortlong
---------------------------------
在32位系统下
intm=-1;
占用4字节,取值范围-2^31----2^31-1(1至31位是数据位,第32位为符号位)
unsignedintm=1;
取值范围0--2^32-1
数据类型:
float--4
char--1
bool--1
double--8
short--2
long--4
longlong---8
longdouble---12
typedefintint_32;
typedefintint_16;
结构体,联合体,枚举
-----------------------------------
变量----占用某类型的内存空间--空间内数据可被改变的称为变量
intdata=0;
charch='
a'
常量
'
-----------字符常量
"
abcd"
-----字符串常量
123---------整形常量
================