位運(yùn)算
- 按位與運(yùn)算:
&
雙目運(yùn)算符脆淹,二進(jìn)制各位都為1結(jié)果位才為1常空,否則為0。通常參與位運(yùn)算某些位清零或保留某些位
- 按位或運(yùn)算:
|
雙目運(yùn)算符盖溺,二進(jìn)制各位只要有一個(gè)為1時(shí)漓糙,結(jié)果位就為1。
- 按位異或運(yùn)算:
^
雙目運(yùn)算符:相同時(shí)為零烘嘱,不同時(shí)為1昆禽。
*求反運(yùn)算符
對(duì)二進(jìn)制的各位進(jìn)行取反的運(yùn)算。
- 左移運(yùn)算:
<<
雙目運(yùn)算符蝇庭,右邊的數(shù)指定移動(dòng)的位數(shù)醉鳖,高位丟棄,低位補(bǔ)零遗契。
- 右移運(yùn)算符:·
>>
雙目運(yùn)算符辐棒,左邊的運(yùn)算數(shù)的各二進(jìn)制各部右移若干位。
經(jīng)典的例子:
char a = 'a',b = 'b';
int p,c,d;
p = a;
p = (p<<8)|=b;
d = p&0xff;
c = (p&0xff00)>>8;
printf("%d%d%d%d",a,b,c,d);
return 0;
}```
###C語(yǔ)言編程要點(diǎn)
#####1牍蜂,儲(chǔ)存空間布局:
1)正文段--CPU執(zhí)行的機(jī)器指令部分
2)初始化數(shù)據(jù)段(數(shù)據(jù)段)
3)非初始化數(shù)據(jù)段(BBS段)
4)椦——增長(zhǎng)方向:自頂向下增長(zhǎng);自動(dòng)變量以及每次函數(shù)調(diào)用時(shí)所需要保護(hù)的信息
5)堆——?jiǎng)討B(tài)存儲(chǔ)分鲫竞。
Head是堆
stack是棧
###課堂筆記
#####1辐怕,路徑
* 絕對(duì)路徑:是以根目錄(/)為起點(diǎn)的路徑。
`/home/prc/桌面/1207/test.c`
* 相對(duì)路徑:是以當(dāng)前目錄或者家目錄為基礎(chǔ)的路徑从绘。
`/桌面/1207/test.c`
#####2寄疏,cd
跳轉(zhuǎn)命令
`~`:回到家目錄中下;
`-`:回到上一次的工作目錄僵井;
#####3陕截,mkdir
創(chuàng)建目錄:`mkdir [選項(xiàng)] 目錄`
`-p`:遞歸創(chuàng)建多級(jí)目錄(多級(jí)路徑);
`mkdir -p a/b/c/d`
#####4批什,rmdir
刪除目錄(不能刪除空目錄)
`rmdir -p a/b/c/d`遞歸的刪除空目錄农曲,由于其他原因,可能會(huì)部分保留。
#####5乳规,rm
刪除文件:`rm [選項(xiàng)] 文件`**(此方法不可逆)**
`-r`:刪除(**非空**)目錄形葬;
`-i`:與用戶進(jìn)行交互,進(jìn)行刪除操作時(shí)暮的,給出提醒笙以;
`-ir`:會(huì)進(jìn)入目錄中,并提示是否刪除目錄中的文件冻辩,(刪除目錄時(shí)猖腕,先遞歸的刪除目錄中的文件,然后在刪除目錄自身:奚痢)谈息;
`-f`:強(qiáng)制刪除文件,不給出任何提示`(-rf`)凛剥。
`*`:通配符侠仇,如果要?jiǎng)h除大量文件名類似的文件,可用通配符刪除犁珠,例如:
```test/ tesr/ testt/
rm -r tes*/
1rew/ 2rew/ 3rew/ 245rew/
rm -r *rew
1.txt 2.txt 3.txt
rm -r *.txt
rm *.*```
6逻炊,touch
創(chuàng)建普通文件:1)創(chuàng)建不存在的普通的文件`touch filename`
```file: .txt .doc .dat filename .c .h .cpp .hpp```
2)若文件已存在,則更新時(shí)間戳
3)創(chuàng)建多個(gè)文件:
```touch 1.doc 2.doc
touch {1..10}.txt
touch test{A..Z}.txt```
7犁享,mv
移動(dòng):``mv [選項(xiàng)] 源文件 目的文件`
1)`mv 1.txt t.txt`
原地移動(dòng)余素,若目的文件不存在,文件重命名
用gedit編輯文件產(chǎn)生的備份文件即filename~炊昆,可用mv命令進(jìn)行恢復(fù)
若目的文件以及存在桨吊,則進(jìn)行覆蓋
2)`mv *.txt /路徑/`
跨路徑移動(dòng),將文件移動(dòng)到目的目錄中
`mv *.txt /路徑/filename`
跨路徑移動(dòng)并重命名凤巨;
3)`mv /路徑/filename /路徑/filename`
* `~/文檔 `:相對(duì)路徑
* `/home/prc/文檔`:絕對(duì)路徑
4)`mv 源目錄文件 目的目錄文件`
若目的目錄文件不存在视乐,則移動(dòng)重命名
若目的目錄已存在,則源目錄整體移動(dòng)到目的目錄中
8敢茁,cp
`cp [選項(xiàng)] 源文件 目標(biāo)文件`
1)`cp filename1 filename2`
完成對(duì)filename1的拷貝佑淀,此時(shí)源文件還存在
2)`cp filename1 /路徑/`
復(fù)制文件到指定路徑
3)`cp filename1 /路徑/ filename2`
復(fù)制文件到指定的路徑,并且重新命名彰檬。
4)`cp /路徑/filename1 /路徑/filename2`
復(fù)制指定路徑下的文件到另一個(gè)路徑伸刃,并命名;
5)`cp -r 源目錄名 目的目錄名`
目的目錄存在時(shí)逢倍,直接將源目錄名復(fù)制到目的目錄下捧颅,作為目的目錄的一個(gè)子目錄,并且完成源目錄中內(nèi)容的拷貝
目的目錄不存在時(shí)较雕,完成源目錄的復(fù)制并且重新命名為目的目錄名
6)`cp -r /路徑/ /路徑/`
7)`cp -i filename1 filename2`
與用戶進(jìn)行交互碉哑,若filename2存在,則提示時(shí)候覆蓋,
若不存在谭梗,則直接復(fù)制
`cp -i /路徑/filename1 /路徑/filename2`
8) `cp -ir 源目錄 目的目錄`
若目的目錄不存在同名目錄,則復(fù)制并重新命名宛蚓,
若目的目錄已存在同名目錄激捏,則將兩個(gè)目錄合并,相同內(nèi)容提示是否覆蓋凄吏,不相同內(nèi)容則直接復(fù)制远舅。
9,`cat,more,less,info`
1)cat查看文件內(nèi)容(全屏一次列寫)
`cat filename1 filename2`
`cat -n file`匹配文件行號(hào)
`cat -b file`略過空白行顯示當(dāng)前行號(hào)
2)`more file`
分屏查看文件內(nèi)容痕钢,按空格鍵查看下一頁(yè)图柏,回車逐行查看,q退出
3)`less file`
分屏查看文件內(nèi)容
空格鍵任连,上下鍵蚤吹,pagedown,pageup,回車鍵均可
按行按頁(yè)均可查看,q鍵退出随抠。
4)`help `
ls --help
5)`man`
幫助文檔
6)`info`
5)`man`
10)`head裁着、tail`
`head file`:查看文件的前10行
`tail file`:查看文件的尾10行
默認(rèn)為10行
選項(xiàng):
`head -n file`:查看文件的前n行
`tail -n file`:查看文件的后n行
11)`sudo、su`
* `sudo`臨時(shí)提權(quán)
臨時(shí)賦予用戶超級(jí)用戶權(quán)限拱她。此操作需要輸入用戶密碼二驰。
命令行安裝軟件,對(duì)部分文件的刪除操作秉沼,以及更改文件權(quán)限等等
* su 超級(jí)用戶
`su - root`
建議使用“-”桶雀,把超級(jí)用戶的工作環(huán)境和目錄都切換,防止因環(huán)境變量問題不能夠正常使用唬复,
密碼問題不能使用矗积,使用`sudo passwd`更改密碼;超級(jí)用戶操作不需要輸入密碼。
\#:超級(jí)用戶$:普通用戶
退出超級(jí)用戶方法:1敞咧,ctrl + d, 2漠魏,exit 3,關(guān)閉終端 4妄均, su - prc
12)文件的權(quán)限問題
`rwx`:可多可寫可執(zhí)行
```prc@ubuntu:~$ ls -l 1
-rw-rw-r-- 1 prc prc 355 Dec 7 15:35 1.c```
`-` 文件屬性(普通文件)
`rw-`文件擁有者權(quán)限(可讀可寫) `u`
`rw-`所屬組權(quán)限(可讀可寫) `g`
`r--`其他用戶權(quán)限(可讀) `o`
* 修改文件權(quán)限
`chmod 權(quán)限 文件`
權(quán)限:
權(quán)限標(biāo)識(shí)符:r,w,x,-
八進(jìn)制權(quán)限:0,1,2,3,4,5,6,7
例:
```-rw-rw-r-- 1 prc prc 355 Dec 7 15:35 1/1.c
prc@ubuntu:~$ sudo chmod o+wx(667) 1/1.c
-rw-rw-rwx 1 prc prc 355 Dec 7 15:35 1/1.c
prc@ubuntu:~$ sudo chmod o-wx(664) 1/1.c
-rw-rw-r-- 1 prc prc 355 Dec 7 15:35 1/1.c```
####作業(yè):
1柱锹,熟悉cd,mv,cp,rm命令的使用,并熟練掌握
已完成
2丰包,了解普通用戶與超級(jí)用戶的切換
`sudo - root`
`sudo passwd`輸入密碼
退出的四種方法:`ctrl + d`
`exit`, `su - prc`,`關(guān)閉終端`禁熏。
3,文件權(quán)限修改的兩種方法
一種根據(jù)u,g,o加減rwx進(jìn)行操作邑彪,另一種根據(jù)八進(jìn)制直接賦值
4瞧毙,創(chuàng)建非空目錄和非空文件,并修改其權(quán)限0~7(八進(jìn)制),查看對(duì)應(yīng)權(quán)限的文件的操作有哪些不同
已完成
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者