一个色的导航资源精品在线观看|手机看片在线精品视频|伊人亚洲成人电影|亚洲欧美在线男女|无码无码在线观看五月精品视频在线|超碰日韩欧美在线|午夜精品蜜桃一区二区久久久|91欧美动态国产精品女主播|色欲色香天天天综合网在线观看免费|伊人春色在线伊人

php經(jīng)典版本?

時(shí)間:2024-09-09 03:09 人氣:0 編輯:招聘街

一、php經(jīng)典版本?

您好,很高興為您解答: 開(kāi)發(fā)新項(xiàng)目:推薦使用PHP7的版本,他是一個(gè)趨勢(shì),也是優(yōu)化后的結(jié)晶,他的效率非常高。

維護(hù)老項(xiàng)目:推薦使用PHP5.2的版本,非常穩(wěn)定!

使用開(kāi)源項(xiàng)目/CMS之類(lèi)的:查詢(xún)?cè)创a支持的PHP版本,一般官網(wǎng)都有文檔,像DeDecms推薦使用PHP5.2,WP最新版本推薦PHP7 Laravel,Thinkphp5也支持PHP7了

二、php面試題、

PHP面試題:從初級(jí)到高級(jí),掌握面試必備知識(shí)

PHP一直是Web開(kāi)發(fā)領(lǐng)域中備受推崇的編程語(yǔ)言之一,許多公司在招聘開(kāi)發(fā)人員時(shí)都會(huì)考察候選人的PHP技能。因此,掌握一些常見(jiàn)的PHP面試題是非常重要的。無(wú)論您是準(zhǔn)備面試,還是想進(jìn)一步加深對(duì)PHP的理解,本文將為您提供一些從初級(jí)到高級(jí)的PHP面試題,幫助您在面試中脫穎而出。

PHP基礎(chǔ)面試題

1. 什么是PHP? PHP即“Hypertext Preprocessor”的縮寫(xiě),是一種開(kāi)源的服務(wù)器端腳本語(yǔ)言,適用于Web開(kāi)發(fā)和可嵌入中使用。PHP腳本在服務(wù)器端運(yùn)行,生成HTML輸出到客戶(hù)端瀏覽器。

2. PHP的特點(diǎn)有哪些? PHP具有許多特點(diǎn),包括開(kāi)源、跨平臺(tái)、易學(xué)易用、功能強(qiáng)大、支持多種數(shù)據(jù)庫(kù)等。PHP的靈活性和擴(kuò)展性使其成為許多開(kāi)發(fā)人員的首選語(yǔ)言之一。

3. 如何在PHP中輸出文本? 在PHP中,您可以使用echo或print語(yǔ)句來(lái)輸出文本。例如,您可以使用echo "Hello, World!";來(lái)輸出“Hello, World!”。

PHP中級(jí)面試題

1. 什么是PHP中的變量作用域? 在PHP中,變量的作用域指的是變量在腳本中可見(jiàn)的區(qū)域。PHP具有四種不同的作用域:局部作用域、全局作用域、靜態(tài)作用域和超全局作用域。

2. 如何包含一個(gè)文件到PHP頁(yè)面中? 您可以使用include或require語(yǔ)句包含一個(gè)文件到PHP頁(yè)面中。區(qū)別在于如果文件不存在,include會(huì)發(fā)出警告并繼續(xù)執(zhí)行腳本,而require會(huì)發(fā)出致命錯(cuò)誤并停止腳本執(zhí)行。

3. 什么是PHP中的SESSION? SESSION是一種將用戶(hù)信息存儲(chǔ)在服務(wù)器上的方法,在用戶(hù)訪問(wèn)您的站點(diǎn)時(shí)創(chuàng)建。PHP中的SESSION通過(guò)一個(gè)唯一的SESSION ID來(lái)識(shí)別每個(gè)用戶(hù),并將數(shù)據(jù)存儲(chǔ)在服務(wù)器的內(nèi)存中。

PHP高級(jí)面試題

1. 什么是PHP的自動(dòng)加載? PHP的自動(dòng)加載功能允許您在類(lèi)被實(shí)例化或類(lèi)被調(diào)用時(shí)自動(dòng)加載類(lèi)文件。這樣可以提高代碼的模塊化和靈活性,避免手動(dòng)包含大量的類(lèi)文件。

2. 什么是PHP中的命名空間? PHP的命名空間是一種將類(lèi)、函數(shù)和常量組織到更合理和更具可讀性的結(jié)構(gòu)中的方式。通過(guò)命名空間,可以避免命名沖突,提高代碼的可維護(hù)性。

3. 什么是PHP中的trait? Trait是PHP中一種代碼復(fù)用的機(jī)制,它類(lèi)似于類(lèi)的一個(gè)部分,可以在不同類(lèi)之間復(fù)用方法集。Trait提供了一種更優(yōu)雅的代碼組織方式,避免多重繼承的復(fù)雜性。

通過(guò)以上PHP面試題的介紹,相信您對(duì)PHP的知識(shí)有了更深入的了解,也為您在面試中展現(xiàn)出色的機(jī)會(huì)提供了幫助。繼續(xù)學(xué)習(xí)和提升自己的PHP技能,相信您一定能在職業(yè)道路上獲得更多的成就!

三、有哪些經(jīng)典的 Linux 面試題?

軟件測(cè)試被問(wèn)到的Linux命令知識(shí)點(diǎn),90%都在這里了!

一、文件和目錄

查看路徑

pwd

顯示當(dāng)前目錄的路徑

which

查看命令的可執(zhí)行文件所在路徑, Linux 下,每一條命令其實(shí)都對(duì)應(yīng)一個(gè)可執(zhí)行程序,在終端中輸入命令,按回車(chē)的時(shí)候,就是執(zhí)行了對(duì)應(yīng)的那個(gè)程序, which 命令本身對(duì)應(yīng)的程序也存在于 Linux 中。

總的來(lái)說(shuō)一個(gè)命令就是一個(gè)可執(zhí)行程序。

瀏覽和切換目錄

ls

列出文件和目錄,它是 Linux 最常用的命令之一。

【常用參數(shù)】

  • -a 顯示所有文件和目錄包括隱藏的
  • -l 顯示詳細(xì)列表
  • -h 適合人類(lèi)閱讀的
  • -t 按文件最近一次修改時(shí)間排序
  • -i 顯示文件的 inode ( inode 是文件內(nèi)容的標(biāo)識(shí))

cd

cd 是英語(yǔ) change directory 的縮寫(xiě),表示切換目錄。

cd / --> 跳轉(zhuǎn)到根目錄
cd ~ --> 跳轉(zhuǎn)到家目錄
cd .. --> 跳轉(zhuǎn)到上級(jí)目錄
cd ./home --> 跳轉(zhuǎn)到當(dāng)前目錄的home目錄下
cd /home/lion --> 跳轉(zhuǎn)到根目錄下的home目錄下的lion目錄
cd --> 不添加任何參數(shù),也是回到家目錄

[注意] 輸入cd /ho + 單次 tab 鍵會(huì)自動(dòng)補(bǔ)全路徑 + 兩次 tab 鍵會(huì)列出所有可能的目錄列表。

du

列舉目錄大小信息。

【常用參數(shù)】

  • -h 適合人類(lèi)閱讀的;
  • -a 同時(shí)列舉出目錄下文件的大小信息;
  • -s 只顯示總計(jì)大小,不顯示具體信息。

瀏覽和創(chuàng)建文件

cat

一次性顯示文件所有內(nèi)容,更適合查看小的文件。

cat cloud-init.log

【常用參數(shù)】

  • -n 顯示行號(hào)。

less

分頁(yè)顯示文件內(nèi)容,更適合查看大的文件。

less cloud-init.log

【快捷操作】

  • 空格鍵:前進(jìn)一頁(yè)(一個(gè)屏幕);
  • b 鍵:后退一頁(yè);
  • 回車(chē)鍵:前進(jìn)一行;
  • y 鍵:后退一行;
  • 上下鍵:回退或前進(jìn)一行;
  • d 鍵:前進(jìn)半頁(yè);
  • u 鍵:后退半頁(yè);
  • q 鍵:停止讀取文件,中止 less 命令;
  • = 鍵:顯示當(dāng)前頁(yè)面的內(nèi)容是文件中的第幾行到第幾行以及一些其它關(guān)于本頁(yè)內(nèi)容的詳細(xì)信息;
  • h 鍵:顯示幫助文檔;
  • / 鍵:進(jìn)入搜索模式后,按 n 鍵跳到一個(gè)符合項(xiàng)目,按 N 鍵跳到上一個(gè)符合項(xiàng)目,同時(shí)也可以輸入正則表達(dá)式匹配。

head

顯示文件的開(kāi)頭幾行(默認(rèn)是10行)

head cloud-init.log

【參數(shù)】

  • -n 指定行數(shù) head cloud-init.log -n 2

tail

顯示文件的結(jié)尾幾行(默認(rèn)是10行)

tail cloud-init.log復(fù)制代碼

【參數(shù)】

  • -n 指定行數(shù) tail cloud-init.log -n 2
  • -f 會(huì)每過(guò)1秒檢查下文件是否有更新內(nèi)容,也可以用 -s 參數(shù)指定間隔時(shí)間 tail -f -s 4 xxx.log

touch

創(chuàng)建一個(gè)文件

touch new_file復(fù)制代碼

mkdir

創(chuàng)建一個(gè)目錄

mkdir new_folder復(fù)制代碼

【常用參數(shù)】

  • -p 遞歸的創(chuàng)建目錄結(jié)構(gòu) mkdir -p one/two/three
文件的復(fù)制和移動(dòng)

cp

拷貝文件和目錄

cp file file_copy --> file 是目標(biāo)文件,file_copy 是拷貝出來(lái)的文件cp file one --> 把 file 文件拷貝到 one 目錄下,并且文件名依然為 file

cp file one/file_copy --> 把 file 文件拷貝到 one 目錄下,文件名為file_copy

cp *.txt folder --> 把當(dāng)前目錄下所有 txt 文件拷貝到 folder 目錄下

【常用參數(shù)】

  • -r 遞歸的拷貝,常用來(lái)拷貝一整個(gè)目錄

mv

移動(dòng)(重命名)文件或目錄,與cp命令用法相似。

mv file one --> 將 file 文件移動(dòng)到 one 目錄下

mv new_folder one --> 將 new_folder 文件夾移動(dòng)到one目錄下mv *.txt folder --> 把當(dāng)前目錄下所有 txt 文件移動(dòng)到 folder 目錄下mv file new_file --> file 文件重命名為 new_file

文件的刪除和鏈接

rm

刪除文件和目錄,由于 Linux 下沒(méi)有回收站,一旦刪除非常難恢復(fù),因此需要謹(jǐn)慎操作

rm new_file --> 刪除 new_file 文件

rm f1 f2 f3 --> 同時(shí)刪除 f1 f2 f3 3個(gè)文件

【常用參數(shù)】

  • -i 向用戶(hù)確認(rèn)是否刪除;
  • -f 文件強(qiáng)制刪除;
  • -r 遞歸刪除文件夾,著名的刪除操作 rm -rf 。

ln

英文 Link 的縮寫(xiě),表示創(chuàng)建鏈接。

學(xué)習(xí)創(chuàng)建鏈接之前,首先要理解鏈接是什么,我們先來(lái)看看 Linux 的文件是如何存儲(chǔ)的:

Linux 文件的存儲(chǔ)方式分為3個(gè)部分,文件名、文件內(nèi)容以及權(quán)限,其中文件名的列表是存儲(chǔ)在硬盤(pán)的其它地方和文件內(nèi)容是分開(kāi)存放的,每個(gè)文件名通過(guò) inode 標(biāo)識(shí)綁定到文件內(nèi)容。

Linux 下有兩種鏈接類(lèi)型:硬鏈接和軟鏈接。

硬鏈接

使鏈接的兩個(gè)文件共享同樣文件內(nèi)容,就是同樣的 inode ,一旦文件1和文件2之間有了硬鏈接,那么修改任何一個(gè)文件,修改的都是同一塊內(nèi)容,它的缺點(diǎn)是,只能創(chuàng)建指向文件的硬鏈接,不能創(chuàng)建指向目錄的(其實(shí)也可以,但比較復(fù)雜)而軟鏈接都可以,因此軟鏈接使用更加廣泛。

這個(gè)部分暫時(shí)不展開(kāi)。

二、用戶(hù)與權(quán)限

用戶(hù)

Linux 是一個(gè)多用戶(hù)的操作系統(tǒng)。在 Linux 中,理論上來(lái)說(shuō),我們可以創(chuàng)建無(wú)數(shù)個(gè)用戶(hù),但是這些用戶(hù)是被劃分到不同的群組里面的,有一個(gè)用戶(hù),名叫 root ,是一個(gè)很特殊的用戶(hù),它是超級(jí)用戶(hù),擁有最高權(quán)限。

sudo

以 root 身份運(yùn)行命令

useradd + passwd

  • useradd 添加新用戶(hù)
  • passwd 修改用戶(hù)密碼

這兩個(gè)命令需要 root 用戶(hù)權(quán)限

userdel

刪除用戶(hù),需要 root 用戶(hù)權(quán)限

su

切換用戶(hù),需要 root 用戶(hù)權(quán)限

群組的管理

Linux 中每個(gè)用戶(hù)都屬于一個(gè)特定的群組,如果你不設(shè)置用戶(hù)的群組,默認(rèn)會(huì)創(chuàng)建一個(gè)和它的用戶(hù)名一樣的群組,并且把用戶(hù)劃歸到這個(gè)群組。

groupadd

創(chuàng)建群組,用法和 useradd 類(lèi)似

groupdel

刪除一個(gè)已存在的群組

groups

查看用戶(hù)所在群組

usermod

用于修改用戶(hù)的賬戶(hù)。

【常用參數(shù)】

  • -l 對(duì)用戶(hù)重命名。需要注意的是 /home 中的用戶(hù)家目錄的名字不會(huì)改變,需要手動(dòng)修改。
  • -g 修改用戶(hù)所在的群組,例如 usermod -g friends lion修改 lion 用戶(hù)的群組為 friends 。
  • -G 一次性讓用戶(hù)添加多個(gè)群組,例如 usermod -G friends,foo,bar lion 。
  • -a -G 會(huì)讓你離開(kāi)原先的群組,如果你不想這樣做的話,就得再添加 -a 參數(shù),意味著append 追加的意思。

chgrp

用于修改文件的群組。

chown

改變文件的所有者,需要 root 身份才能運(yùn)行。

【常用參數(shù)】

  • -R 遞歸設(shè)置子目錄和子文件, chown -R lion:lion /home/frank 把 frank 文件夾的用戶(hù)和群組都改為 lion 。
文件權(quán)限管理

chmod

修改訪問(wèn)權(quán)限。

【常用參數(shù)】

  • -R 可以遞歸地修改文件訪問(wèn)權(quán)限,例如 chmod -R 777 /home/lion

其中 drwxr-xr-x 表示文件或目錄的權(quán)限。讓我們一起來(lái)解讀它具體代表什么?

  • d :表示目錄,就是說(shuō)這是一個(gè)目錄,普通文件是 - ,鏈接是 l 。
  • r :read 表示文件可讀。
  • w :write 表示文件可寫(xiě),一般有寫(xiě)的權(quán)限,就有刪除的權(quán)限。
  • x :execute 表示文件可執(zhí)行。
  • - :表示沒(méi)有相應(yīng)權(quán)限。

現(xiàn)在再來(lái)理解這句權(quán)限 drwxr-xr-x 的意思:

  • 它是一個(gè)文件夾;
  • 它的所有者具有:讀、寫(xiě)、執(zhí)行權(quán)限;
  • 它的群組用戶(hù)具有:讀、執(zhí)行的權(quán)限,沒(méi)有寫(xiě)的權(quán)限;
  • 它的其它用戶(hù)具有:讀、執(zhí)行的權(quán)限,沒(méi)有寫(xiě)的權(quán)限。

現(xiàn)在理解了權(quán)限,我們使用 chmod 來(lái)嘗試修改權(quán)限。chmod 它不需要是 root 用戶(hù)才能運(yùn)行的,只要你是此文件所有者,就可以用 chmod 來(lái)修改文件的訪問(wèn)權(quán)限。

chmod 640 hello.c

# 分析

6 = 4 + 2 + 0 表示所有者具有 rw 權(quán)限

4 = 4 + 0 + 0 表示群組用戶(hù)具有 r 權(quán)限

0 = 0 + 0 + 0 表示其它用戶(hù)沒(méi)有權(quán)限

對(duì)應(yīng)文字權(quán)限為:-rw-r-----

用字母來(lái)分配權(quán)限

  • u :user 的縮寫(xiě),用戶(hù)的意思,表示所有者。
  • g :group 的縮寫(xiě),群組的意思,表示群組用戶(hù)。
  • o :other 的縮寫(xiě),其它的意思,表示其它用戶(hù)。
  • a :all 的縮寫(xiě),所有的意思,表示所有用戶(hù)。
  • + :加號(hào),表示添加權(quán)限。
  • - :減號(hào),表示去除權(quán)限。
  • = :等于號(hào),表示分配權(quán)限。

chmod u+rx file --> 文件file的所有者增加讀和運(yùn)行的權(quán)限

chmod g+r file --> 文件file的群組用戶(hù)增加讀的權(quán)限

chmod o-r file--> 文件file的其它用戶(hù)移除讀的權(quán)限

chmod g+r file --> 文件file的群組用戶(hù)增加讀的權(quán)限,其它用戶(hù)移除讀的權(quán)限

chmod go-r file --> 文件file的群組和其他用戶(hù)移除讀的權(quán)限

chmod +x file --> 文件file的所有用戶(hù)增加運(yùn)行的權(quán)限

chmod u=rwx,g=r,o=- file --> 文件file的所有者分配讀寫(xiě)和執(zhí)行的權(quán)限,群組其它用戶(hù)分配讀的權(quán)限,其他用戶(hù)沒(méi)有任何權(quán)限

三、查找文件

locate

搜索包含關(guān)鍵字的所有文件和目錄。后接需要查找的文件名,也可以用正則表達(dá)式。

安裝 locate

yum -y install mlocate --> 安裝包updatedb --> 更新數(shù)據(jù)庫(kù)復(fù)制代碼locate file.txtlocate fil*.txt

[注意] locate 命令會(huì)去文件數(shù)據(jù)庫(kù)中查找命令,而不是全磁盤(pán)查找,因此剛創(chuàng)建的文件并不會(huì)更新到數(shù)據(jù)庫(kù)中,所以無(wú)法被查找到,可以執(zhí)行 updatedb 命令去更新數(shù)據(jù)庫(kù)。

find

用于查找文件,它會(huì)去遍歷你的實(shí)際硬盤(pán)進(jìn)行查找,而且它允許我們對(duì)每個(gè)找到的文件進(jìn)行后續(xù)操作,功能非常強(qiáng)大。

find <何處> <何物> <做什么>
  • 何處:指定在哪個(gè)目錄查找,此目錄的所有子目錄也會(huì)被查找。
  • 何物:查找什么,可以根據(jù)文件的名字來(lái)查找,也可以根據(jù)其大小來(lái)查找,還可以根據(jù)其最近訪問(wèn)時(shí)間來(lái)查找。
  • 做什么:找到文件后,可以進(jìn)行后續(xù)處理,如果不指定這個(gè)參數(shù), find 命令只會(huì)顯示找到的文件。

根據(jù)文件名查找

find -name "file.txt" --> 當(dāng)前目錄以及子目錄下通過(guò)名稱(chēng)查找文件

find . -name "syslog" --> 當(dāng)前目錄以及子目錄下通過(guò)名稱(chēng)查找文件

find / -name "syslog" --> 整個(gè)硬盤(pán)下查找syslog

find /var/log -name "syslog" --> 在指定的目錄/var/log下查找syslog文件find /var/log -name "syslog*" --> 查找syslog1、syslog2 ... 等文件,通配符表示所有

find /var/log -name "*syslog*" --> 查找包含syslog的文件

[注意] find 命令只會(huì)查找完全符合 "何物" 字符串的文件,而 locate 會(huì)查找所有包含關(guān)鍵字的文件。

根據(jù)文件大小查找

find /var -size +10M --> /var 目錄下查找文件大小超過(guò) 10M 的文件

find /var -size -50k --> /var 目錄下查找文件大小小于 50k 的文件

find /var -size +1G --> /var 目錄下查找文件大小查過(guò) 1G 的文件

find /var -size 1M --> /var 目錄下查找文件大小等于 1M 的文件

根據(jù)文件最近訪問(wèn)時(shí)間查找

find -name "*.txt" -atime -7

--> 近 7天內(nèi)訪問(wèn)過(guò)的.txt結(jié)尾的文件

僅查找目錄或文件,根據(jù)類(lèi)型查找

find . -name "file" -type f

--> 只查找當(dāng)前目錄下的file文件

find . -name "file" -type d

--> 只查找當(dāng)前目錄下的file目錄

軟件倉(cāng)庫(kù)

Linux 下軟件是以包的形式存在,一個(gè)軟件包其實(shí)就是軟件的所有文件的壓縮包,是二進(jìn)制的形式,包含了安裝軟件的所有指令。Red Hat 家族的軟件包后綴名一般為 .rpm ,Debian 家族的軟件包后綴是 .deb 。

Linux 的包都存在一個(gè)倉(cāng)庫(kù),叫做軟件倉(cāng)庫(kù),它可以使用 yum 來(lái)管理軟件包, yum 是 CentOS 中默認(rèn)的包管理工具,適用于 Red Hat 一族。可以理解成 Node.js 的 npm 。

yum 常用命令
  • yum update | yum upgrade 更新軟件包
  • yum search xxx 搜索相應(yīng)的軟件包
  • yum install xxx 安裝軟件包
  • yum remove xxx 刪除軟件包

四、文本操作

grep

全局搜索一個(gè)正則表達(dá)式,并且打印到屏幕。簡(jiǎn)單來(lái)說(shuō)就是,在文件中查找關(guān)鍵字,并顯示關(guān)鍵字所在行。

基礎(chǔ)語(yǔ)法

grep text file # text代表要搜索的文本,file代表供搜索的文件

常用參數(shù)

  • -i 忽略大小寫(xiě), grep -i path /etc/profile
  • -n 顯示行號(hào),grep -n path /etc/profile
  • -v 只顯示搜索文本不在的那些行,grep -v path /etc/profile
  • -r 遞歸查找, grep -r hello /etc ,Linux 中還有一個(gè) rgrep 命令,作用相當(dāng)于 grep -r

sort

對(duì)文件的行進(jìn)行排序。

基礎(chǔ)語(yǔ)法

sort name.txt # 對(duì)name.txt文件進(jìn)行排序

實(shí)例用法

為了演示方便,我們首先創(chuàng)建一個(gè)文件 name.txt ,放入以下內(nèi)容:

ChristopherShawnTedRockNoahZacharyBella

執(zhí)行 sort name.txt 命令,會(huì)對(duì)文本內(nèi)容進(jìn)行排序。

常用參數(shù)

  • -o 將排序后的文件寫(xiě)入新文件, sort -o name_sorted.txt name.txt ;
  • -r 倒序排序, sort -r name.txt ;
  • -R 隨機(jī)排序, sort -R name.txt ;
  • -n 對(duì)數(shù)字進(jìn)行排序,默認(rèn)是把數(shù)字識(shí)別成字符串的,因此 138 會(huì)排在 25 前面,如果添加了 -n 數(shù)字排序的話,則 25 會(huì)在 138 前面。

wc

word count 的縮寫(xiě),用于文件的統(tǒng)計(jì)。它可以統(tǒng)計(jì)單詞數(shù)目、行數(shù)、字符數(shù),字節(jié)數(shù)等。

基礎(chǔ)語(yǔ)法

wc name.txt # 統(tǒng)計(jì)name.txt

實(shí)例用法

[root@lion ~]# wc name.txt 13 13 91 name.txt
  • 第一個(gè)13,表示行數(shù);
  • 第二個(gè)13,表示單詞數(shù);
  • 第三個(gè)91,表示字節(jié)數(shù)。

常用參數(shù)

  • -l 只統(tǒng)計(jì)行數(shù), wc -l name.txt ;
  • -w 只統(tǒng)計(jì)單詞數(shù), wc -w name.txt ;
  • -c 只統(tǒng)計(jì)字節(jié)數(shù), wc -c name.txt ;
  • -m 只統(tǒng)計(jì)字符數(shù), wc -m name.txt 。

uniq

刪除文件中的重復(fù)內(nèi)容。

基礎(chǔ)語(yǔ)法

uniq name.txt # 去除name.txt重復(fù)的行數(shù),并打印到屏幕上

【注意】它只能去除連續(xù)重復(fù)的行數(shù)。

常用參數(shù)

  • -c 統(tǒng)計(jì)重復(fù)行數(shù), uniq -c name.txt ;
  • -d 只顯示重復(fù)的行數(shù), uniq -d name.txt 。

cut

剪切文件的一部分內(nèi)容。

基礎(chǔ)語(yǔ)法

cut -c 2-4 name.txt # 剪切每一行第二到第四個(gè)字符

常用參數(shù)

  • -d 用于指定用什么分隔符(比如逗號(hào)、分號(hào)、雙引號(hào)等等) cut -d , name.txt ;
  • -f 表示剪切下用分隔符分割的哪一塊或哪幾塊區(qū)域, cut -d , -f 1 name.txt 。

五、重定向 管道 流

在 Linux 中一個(gè)命令的去向可以有3個(gè)地方:終端、文件、作為另外一個(gè)命令的入?yún)ⅰ?/p>

命令一般都是通過(guò)鍵盤(pán)輸入,然后輸出到終端、文件等地方,它的標(biāo)準(zhǔn)用語(yǔ)是 stdin 、 stdout 以及 stderr 。

  • 標(biāo)準(zhǔn)輸入 stdin ,終端接收鍵盤(pán)輸入的命令,會(huì)產(chǎn)生兩種輸出;
  • 標(biāo)準(zhǔn)輸出 stdout ,終端輸出的信息(不包含錯(cuò)誤信息);
  • 標(biāo)準(zhǔn)錯(cuò)誤輸出 stderr ,終端輸出的錯(cuò)誤信息。

重定向

把本來(lái)要顯示在終端的命令結(jié)果,輸送到別的地方(到文件中或者作為其他命令的輸入)。

輸出重定向 >

> 表示重定向到新的文件, cut -d , -f 1 notes.csv > name.csv ,它表示通過(guò)逗號(hào)剪切notes.csv 文件(剪切完有3個(gè)部分)獲取第一個(gè)部分,重定向到 name.csv 文件。

我們來(lái)看一個(gè)具體示例,學(xué)習(xí)它的使用,假設(shè)我們有一個(gè)文件 notes.csv ,文件內(nèi)容如下:

Mark1,951/100,很不錯(cuò)1Mark2,952/100,很不錯(cuò)2Mark3,

953/100,很不錯(cuò)3Mark4,954/100,很不錯(cuò)4Mark5,955/100,很不錯(cuò)5Mark6,956/100,很不錯(cuò)6

執(zhí)行命令:cut -d , -f 1 notes.csv > name.csv 最后輸出如下內(nèi)容:

Mark1Mark2Mark3Mark4Mark5Mark6

【注意】使用 > 要注意,如果輸出的文件不存在它會(huì)新建一個(gè),如果輸出的文件已經(jīng)存在,則會(huì)覆蓋。因此執(zhí)行這個(gè)操作要非常小心,以免覆蓋其它重要文件。

輸出重定向 >>

表示重定向到文件末尾,因此它不會(huì)像 > 命令這么危險(xiǎn),它是追加到文件的末尾(當(dāng)然如果文件不存在,也會(huì)被創(chuàng)建)。

再次執(zhí)行 cut -d , -f 1 notes.csv >> name.csv ,則會(huì)把名字追加到 name.csv 里面。

Mark1Mark2Mark3Mark4Mark5Mark6Mark1Mark2Mark3Mark4Mark5Mark6

我們平時(shí)讀的 log 日志文件其實(shí)都是用這個(gè)命令輸出的。

輸出重定向 2>

標(biāo)準(zhǔn)錯(cuò)誤輸出

cat not_exist_file.csv > res.txt 2> errors.log
  • 當(dāng)我們 cat 一個(gè)文件時(shí),會(huì)把文件內(nèi)容打印到屏幕上,這個(gè)是標(biāo)準(zhǔn)輸出;
  • 當(dāng)使用了 > res.txt 時(shí),則不會(huì)打印到屏幕,會(huì)把標(biāo)準(zhǔn)輸出寫(xiě)入文件 res.txt 文件中;
  • 2> errors.log 當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)寫(xiě)入 errors.log 文件中。

輸出重定向 2>>

標(biāo)準(zhǔn)錯(cuò)誤輸出(追加到文件末尾)同 >> 相似。

輸入重定向 <

< 符號(hào)用于指定命令的輸入。

cat < name.csv # 指定命令的輸入為 name.csv

雖然它的運(yùn)行結(jié)果與 cat name.csv 一樣,但是它們的原理卻完全不同。

  • cat name.csv 表示 cat 命令接收的輸入是 notes.csv 文件名,那么要先打開(kāi)這個(gè)文件,然后打印出文件內(nèi)容。
  • cat < name.csv 表示 cat 命令接收的輸入直接是 notes.csv 這個(gè)文件的內(nèi)容, cat命令只負(fù)責(zé)將其內(nèi)容打印,打開(kāi)文件并將文件內(nèi)容傳遞給 cat 命令的工作則交給終端完成。

輸入重定向 <<

將鍵盤(pán)的輸入重定向?yàn)槟硞€(gè)命令的輸入。

sort -n << END # 輸入這個(gè)命令之后,按下回車(chē),終端就進(jìn)入鍵盤(pán)輸入模式,其中END為結(jié)束命令(這個(gè)可以自定義)wc -m << END # 統(tǒng)計(jì)輸入的單詞復(fù)

管道 |

把兩個(gè)命令連起來(lái)使用,一個(gè)命令的輸出作為另外一個(gè)命令的輸入,英文是 pipeline ,可以想象一個(gè)個(gè)水管連接起來(lái),管道算是重定向流的一種。

舉幾個(gè)實(shí)際用法案例:

cut -d , -f 1 name.csv | sort > sorted_name.txt

# 第一步獲取到的 name 列表,通過(guò)管道符再進(jìn)行排序,最后輸出到sorted_name.txt

du | sort -nr | head

# du 表示列舉目錄大小信息# sort 進(jìn)行排序,-n 表示按數(shù)字排序,-r 表示倒序# head 前10行文件

grep log -Ir /var/log | cut -d : -f 1 | sort | uniq

# grep log -Ir /var/log 表示在log文件夾下搜索 /var/log 文本,-r 表示遞歸,-I 用于排除二進(jìn)制文件# cut -d : -f 1 表示通過(guò)冒號(hào)進(jìn)行剪切,獲取剪切的第一部分# sort 進(jìn)行排序# uniq 進(jìn)行去重復(fù)制代碼

六、查看進(jìn)程

在 Windows 中通過(guò) Ctrl + Alt + Delete 快捷鍵查看軟件進(jìn)程。

w

幫助我們快速了解系統(tǒng)中目前有哪些用戶(hù)登錄著,以及他們?cè)诟墒裁础?/b>

ps

用于顯示當(dāng)前系統(tǒng)中的進(jìn)程, ps 命令顯示的進(jìn)程列表不會(huì)隨時(shí)間而更新,是靜態(tài)的,是運(yùn)行 ps 命令那個(gè)時(shí)刻的狀態(tài)或者說(shuō)是一個(gè)進(jìn)程快照。

常用參數(shù)

  • -ef 列出所有進(jìn)程;
  • -efH 以喬木狀列舉出所有進(jìn)程;
  • -u 列出此用戶(hù)運(yùn)行的進(jìn)程;
  • -aux 通過(guò) CPU 和內(nèi)存使用來(lái)過(guò)濾進(jìn)程 ps -aux | less ;
  • -aux --sort -pcpu 按 CPU 使用降序排列, -aux --sort -pmem 表示按內(nèi)存使用降序排列;
  • -axjf 以樹(shù)形結(jié)構(gòu)顯示進(jìn)程, ps -axjf 它和 pstree 效果類(lèi)似。

top

獲取進(jìn)程的動(dòng)態(tài)列表。

kill

結(jié)束一個(gè)進(jìn)程, kill + PID 。

七、管理進(jìn)程

進(jìn)程狀態(tài)

主要是切換進(jìn)程的狀態(tài)。我們先了解下 Linux 下進(jìn)程的五種狀態(tài):

  1. 狀態(tài)碼 R :表示正在運(yùn)行的狀態(tài);
  2. 狀態(tài)碼 S :表示中斷(休眠中,受阻,當(dāng)某個(gè)條件形成后或接受到信號(hào)時(shí),則脫離該狀態(tài));
  3. 狀態(tài)碼 D :表示不可中斷(進(jìn)程不響應(yīng)系統(tǒng)異步信號(hào),即使用kill命令也不能使其中斷);
  4. 狀態(tài)碼 Z :表示僵死(進(jìn)程已終止,但進(jìn)程描述符依然存在,直到父進(jìn)程調(diào)用 wait4()系統(tǒng)函數(shù)后將進(jìn)程釋放);
  5. 狀態(tài)碼 T :表示停止(進(jìn)程收到 SIGSTOP 、 SIGSTP 、 SIGTIN 、 SIGTOU 等停止信號(hào)后停止運(yùn)行)。

前臺(tái)進(jìn)程 & 后臺(tái)進(jìn)程

默認(rèn)情況下,用戶(hù)創(chuàng)建的進(jìn)程都是前臺(tái)進(jìn)程,前臺(tái)進(jìn)程從鍵盤(pán)讀取數(shù)據(jù),并把處理結(jié)果輸出到顯示器。例如運(yùn)行 top 命令,這就是一個(gè)一直運(yùn)行的前臺(tái)進(jìn)程。

后臺(tái)進(jìn)程的優(yōu)點(diǎn)是不必等待程序運(yùn)行結(jié)束,就可以輸入其它命令。在需要執(zhí)行的命令后面添加& 符號(hào),就表示啟動(dòng)一個(gè)后臺(tái)進(jìn)程。

&

啟動(dòng)后臺(tái)進(jìn)程,它的缺點(diǎn)是后臺(tái)進(jìn)程與終端相關(guān)聯(lián),一旦關(guān)閉終端,進(jìn)程就自動(dòng)結(jié)束了。

cp name.csv name-copy.csv &

nohup

使進(jìn)程不受掛斷(關(guān)閉終端等動(dòng)作)的影響。

nohup cp name.csv name-copy.csv

nohup 命令也可以和 & 結(jié)合使用。

nohup cp name.csv name-copy.csv &

bg

使一個(gè)"后臺(tái)暫停運(yùn)行"的進(jìn)程,狀態(tài)改為"后臺(tái)運(yùn)行"。

jobs

顯示當(dāng)前終端后臺(tái)進(jìn)程狀態(tài)。

fg

fg 使進(jìn)程轉(zhuǎn)為前臺(tái)運(yùn)行,用法和 bg 命令類(lèi)似。

我們用一張圖來(lái)表示前后臺(tái)進(jìn)程切換:

我們可以使程序在后臺(tái)運(yùn)行,成為后臺(tái)進(jìn)程,這樣在當(dāng)前終端中我們就可以做其他事情了,而不必等待此進(jìn)程運(yùn)行結(jié)束。

八、文件壓縮解壓

  • 打包:是將多個(gè)文件變成一個(gè)總的文件,它的學(xué)名叫存檔、歸檔。
  • 壓縮:是將一個(gè)大文件(通常指歸檔)壓縮變成一個(gè)小文件。

我們常常使用 tar 將多個(gè)文件歸檔為一個(gè)總的文件,稱(chēng)為 archive 。然后用 gzip 或 bzip2 命令將 archive 壓縮為更小的文件。

tar

創(chuàng)建一個(gè) tar 歸檔。

基礎(chǔ)用法

tar -cvf sort.tar sort/

# 將sort文件夾歸檔為sort.tar

tar -cvf archive.tar file1 file2 file3

# 將 file1 file2 file3 歸檔為archive.tar復(fù)制代碼

常用參數(shù)

  • -cvf 表示 create(創(chuàng)建)+ verbose(細(xì)節(jié))+ file(文件),創(chuàng)建歸檔文件并顯示操作細(xì)節(jié);
  • -tf 顯示歸檔里的內(nèi)容,并不解開(kāi)歸檔;
  • -rvf 追加文件到歸檔, tar -rvf archive.tar file.txt ;
  • -xvf 解開(kāi)歸檔, tar -xvf archive.tar 。

gzip / gunzip

"壓縮/解壓"歸檔,默認(rèn)用 gzip 命令,壓縮后的文件后綴名為 .tar.gz 。

gzip archive.tar # 壓縮gunzip archive.tar.gz # 解壓

tar 歸檔+壓縮

可以用 tar 命令同時(shí)完成歸檔和壓縮的操作,就是給 tar 命令多加一個(gè)選項(xiàng)參數(shù),使之完成歸檔操作后,還是調(diào)用 gzip 或 bzip2 命令來(lái)完成壓縮操作。

tar -zcvf archive.tar.gz archive/ # 將archive文件夾歸檔并壓縮

tar -zxvf archive.tar.gz # 將archive.tar.gz歸檔壓縮文件解壓

zcat、zless、zmore

之前講過(guò)使用 cat less more 可以查看文件內(nèi)容,但是壓縮文件的內(nèi)容是不能使用這些命令進(jìn)行查看的,而要使用 zcat、zless、zmore 進(jìn)行查看。

zcat archive.tar.gz

zip/unzip

"壓縮/解壓" zip 文件( zip 壓縮文件一般來(lái)自 windows 操作系統(tǒng))。

命令安裝

# Red Hat 一族中的安裝方式y(tǒng)um install zip yum install unzip 復(fù)制代碼

基礎(chǔ)用法

unzip archive.zip

# 解壓 .zip 文件

unzip -l archive.zip

# 不解開(kāi) .zip 文件,只看其中內(nèi)容

zip -r sort.zip sort/

# 將sort文件夾壓縮為 sort.zip,其中-r表示遞歸

編譯安裝

簡(jiǎn)單來(lái)說(shuō),編譯就是將程序的源代碼轉(zhuǎn)換成可執(zhí)行文件的過(guò)程。大多數(shù) Linux 的程序都是開(kāi)放源碼的,可以編譯成適合我們的電腦和操縱系統(tǒng)屬性的可執(zhí)行文件。

基本步驟如下:

  1. 下載源代碼
  2. 解壓壓縮包
  3. 配置
  4. 編譯
  5. 安裝

實(shí)際案例

1、下載

我們來(lái)編譯安裝 htop 軟件,首先在它的官網(wǎng)下載源碼:http://bintray.com/htop/source[1]

下載好的源碼在本機(jī)電腦上使用如下命令同步到服務(wù)器上:

scp 文件名 用戶(hù)名@服務(wù)器ip:目標(biāo)路徑

scp ~/Desktop/htop-3.0.0.tar.gz root@121.42.11.34:.

也可以使用 wegt 進(jìn)行下載:

wegt+下載地址

wegt https://bintray.com/htop/source/download_file?file_path=htop-3.0.0.tar.gz

2、解壓文件

tar -zxvf htop-3.0.0.tar.gz

# 解壓cd htop-3.0.0 # 進(jìn)入目錄

3、配置

執(zhí)行 ./configure ,它會(huì)分析你的電腦去確認(rèn)編譯所需的工具是否都已經(jīng)安裝了。

4、編譯

執(zhí)行 make 命令

5、安裝

執(zhí)行 make install 命令,安裝完成后執(zhí)行 ls /usr/local/bin/ 查看是否有 htop 命令。如果有就可以執(zhí)行 htop 命令查看系統(tǒng)進(jìn)程了。

九、網(wǎng)絡(luò)

ifconfig

查看 ip 網(wǎng)絡(luò)相關(guān)信息,如果命令不存在的話, 執(zhí)行命令 yum install net-tools 安裝。

參數(shù)解析:

  • eth0 對(duì)應(yīng)有線連接(對(duì)應(yīng)你的有線網(wǎng)卡),就是用網(wǎng)線來(lái)連接的上網(wǎng)。eth 是 Ethernet 的縮寫(xiě),表示"以太網(wǎng)"。有些電腦可能同時(shí)有好幾條網(wǎng)線連著,例如服務(wù)器,那么除了eht0 ,你還會(huì)看到 eth1 、 eth2 等。
  • lo 表示本地回環(huán)( Local Loopback 的縮寫(xiě),對(duì)應(yīng)一個(gè)虛擬網(wǎng)卡)可以看到它的 ip 地址是 127.0.0.1 。每臺(tái)電腦都應(yīng)該有這個(gè)接口,因?yàn)樗鼘?duì)應(yīng)著"連向自己的鏈接"。這也是被稱(chēng)之為"本地回環(huán)"的原因。所有經(jīng)由這個(gè)接口發(fā)送的東西都會(huì)回到你自己的電腦??雌饋?lái)好像并沒(méi)有什么用,但有時(shí)為了某些緣故,我們需要連接自己。例如用來(lái)測(cè)試一個(gè)網(wǎng)絡(luò)程序,但又不想讓局域網(wǎng)或外網(wǎng)的用戶(hù)查看,只能在此臺(tái)主機(jī)上運(yùn)行和查看所有的網(wǎng)絡(luò)接口。例如在我們啟動(dòng)一個(gè)前端工程時(shí),在瀏覽器輸入 127.0.0.1:3000 啟動(dòng)項(xiàng)目就能查看到自己的 web 網(wǎng)站,并且它只有你能看到。
  • wlan0 表示無(wú)線局域網(wǎng)

host

ip 地址和主機(jī)名的互相轉(zhuǎn)換。

ssh 連接遠(yuǎn)程服務(wù)器

通過(guò)非對(duì)稱(chēng)加密以及對(duì)稱(chēng)加密的方式(同 HTTPS 安全連接原理相似)連接到遠(yuǎn)端服務(wù)器。

***h

config 文件可以***h ,方便批量管理多個(gè) ssh 連接。

配置文件分為以下幾種:

  • 全局 ssh 服務(wù)端的配置:/etc/ssh/sshd_config ;
  • 全局 ssh 客戶(hù)端的配置:/etc/ssh/ssh_config(很少修改);
  • 當(dāng)前用戶(hù) ssh 客戶(hù)端的***h/config 。

配置當(dāng)前用戶(hù)的 config :

# 創(chuàng)建config

vim ~/.ssh/config

# 填寫(xiě)一下內(nèi)容

Host lion # 別名 HostName 172.x.x.x # ip 地址 Port 22 # 端口 User root # 用戶(hù)

這樣配置完成后,下次登錄時(shí),可以這樣登錄 ssh lion 會(huì)自動(dòng)識(shí)別為 root 用戶(hù)。

[注意] 這段配置不是在服務(wù)器上,而是你自己的機(jī)器上,它僅僅是設(shè)置了一個(gè)別名。

wget

可以使我們直接從終端控制臺(tái)下載文件,只需要給出文件的HTTP或FTP地址。

十 備份

scp

它是 Secure Copy 的縮寫(xiě),表示安全拷貝。scp 可以使我們通過(guò)網(wǎng)絡(luò),把文件從一臺(tái)電腦拷貝到另一臺(tái)電腦。

scp 是基于 ssh 的原理來(lái)運(yùn)作的, ssh 會(huì)在兩臺(tái)通過(guò)網(wǎng)絡(luò)連接的電腦之間創(chuàng)建一條安全通信的管道, scp 就利用這條管道安全地拷貝文件。

scp source_file destination_file

# source_file 表示源文件,destination_file 表示目標(biāo)文件

其中 source_file 和 destination_file 都可以這樣表示:user@ip:file_name , user 是登錄名, ip 是域名或 ip 地址。file_name 是文件路徑。

scp root@192.168.1.5:/root/file.txt file.txt # 表示把遠(yuǎn)程電腦上的 file.txt 文件拷貝到本機(jī)
scp file.txt root@192.168.1.5:/root # 表示把我的電腦中當(dāng)前文件夾下的 file.txt 文件拷貝到遠(yuǎn)程電腦

rsync

rsync 命令主要用于遠(yuǎn)程同步文件。它可以同步兩個(gè)目錄,不管它們是否處于同一臺(tái)電腦。它應(yīng)該是最常用于"增量備份"的命令了。它就是智能版的 scp 命令。

軟件安裝

yum install rsync復(fù)制代碼

基礎(chǔ)用法

rsync -arv Images/ backups/

# 將Images 目錄下的所有文件備份到 backups 目錄下

rsync -arv Images/ root@192.x.x.x:backups/

# 同步到服務(wù)器的backups目錄下

常用參數(shù)

  • -a 保留文件的所有信息,包括權(quán)限,修改日期等;
  • -r 遞歸調(diào)用,表示子目錄的所有文件也都包括;
  • -v 冗余模式,輸出詳細(xì)操作信息。

默認(rèn)地, rsync 在同步時(shí)并不會(huì)刪除目標(biāo)目錄的文件,例如你在源目錄中刪除一個(gè)文件,但是用 rsync 同步時(shí),它并不會(huì)刪除同步目錄中的相同文件。如果向刪除也可以這么做:rsync -arv --delete Images/ backups/ 。

十一 系統(tǒng)

halt

關(guān)閉系統(tǒng),需要 root 身份。

reboot

重啟系統(tǒng),需要 root 身份。

reboot

poweroff

直接運(yùn)行即可關(guān)機(jī),不需要 root 身份。

十二 Vim 編輯器

Vim 是什么?

Vim 是從 vi 發(fā)展出來(lái)的一個(gè)文本編輯器。其代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用。和 Emacs 并列成為類(lèi) Unix 系統(tǒng)用戶(hù)最喜歡的編輯器。

Vim 常用模式

  • 交互模式
  • 插入模式
  • 命令模式
  • 可視模式

交互模式

也成為正常模式,這是 Vim 的默認(rèn)模式,每次運(yùn)行 Vim 程序的時(shí)候,就會(huì)進(jìn)入這個(gè)模式。

例如執(zhí)行 vim name.txt 則會(huì)進(jìn)入交互模式。

交互模式特征:

  • 在這個(gè)模式下,你不能輸入文本;
  • 它可以讓我們?cè)谖谋鹃g移動(dòng),刪除一行文本,復(fù)制黏貼文本,跳轉(zhuǎn)到指定行,撤銷(xiāo)操作,等等

插入模式

這個(gè)模式是我們熟悉的文本編輯器的模式,就是可以輸入任何你想輸入的內(nèi)容。進(jìn)入這個(gè)模式有幾種方法,最常用的方法是按字母鍵 i ( i、I、a、A、o、O 都可以進(jìn)入插入模式,只是所處的位置不同),退出這種模式,只需要按下 Esc 鍵。

  • i, I 進(jìn)入輸入模式 Insert mode :i 為"從目前光標(biāo)所在處輸入", I 為"在目前所在行的第一個(gè)非空格符處開(kāi)始輸入";
  • a, A 進(jìn)入輸入模式 Insert mode :a 為"從目前光標(biāo)所在的下一個(gè)字符處開(kāi)始輸入",A 為"從光標(biāo)所在行的最后一個(gè)字符處開(kāi)始輸入";
  • o, O 進(jìn)入輸入模式 Insert mode :o 為"在目前光標(biāo)所在的下一行處輸入新的一行";O 為在目前光標(biāo)所在處的上一行輸入新的一行。

命令模式

命令模式也稱(chēng)為底線命令模式,這個(gè)模式下可以運(yùn)行一些命令例如"退出","保存",等動(dòng)作。

也可以用這個(gè)模式來(lái)激活一些 Vim 配置,例如語(yǔ)法高亮,顯示行號(hào),等。甚至還可以發(fā)送一些命令給終端命令行,例如 ls、cp 。

為了進(jìn)入命令模式,首先要進(jìn)入交互模式,再按下冒號(hào)鍵。

用一張圖表示三種模式如何切換:

基本操作

打開(kāi) Vim

在終端命令行中輸入 vim 回車(chē)后 Vim 就會(huì)被運(yùn)行起來(lái),也可以用 Vim 來(lái)打開(kāi)一個(gè)文件,只需要在 vim 后面再加文件名。如 vim file.name ,如果文件不存在,那么會(huì)被創(chuàng)建。

插入

進(jìn)入文件之后,此時(shí)處于交互模式,可以通過(guò)輸入 i 進(jìn)入插入模式

移動(dòng)

在 Vim 的交互模式下,我們可以在文本中移動(dòng)光標(biāo)。

  • h 向左移動(dòng)一個(gè)字符
  • j 向下移動(dòng)一個(gè)字符
  • k 向上移動(dòng)一個(gè)字符
  • i 向右移動(dòng)一個(gè)字符

當(dāng)然也可以使用四個(gè)方向鍵進(jìn)行移動(dòng),效果是一樣的。

跳至行首和行末

  • 行首:在交互模式下,為了將光標(biāo)定位到一行的開(kāi)始位置,只需要按下數(shù)字鍵 0 即可,鍵盤(pán)上的 Home 鍵也有相同效果。
  • 行末:在交互模式下,為了將光標(biāo)定位到一行的末尾,只需要按下美元符號(hào)鍵 $ 即可,鍵盤(pán)上的 End 鍵也有相同效果。

按單詞移動(dòng)

在交互模式下,按字母鍵 w 可以一個(gè)單詞一個(gè)單詞的移動(dòng)。

退出文件

在交互模式下,按下冒號(hào)鍵 : 進(jìn)入命令模式,再按下 q 鍵,就可以退出了。

如果在退出之前又修改了文件,就直接想用 :q 退出 Vim ,那么 Vim 會(huì)顯示一個(gè)紅字標(biāo)明錯(cuò)誤信息。此時(shí)我們有兩個(gè)選擇:

  1. 保存并退出 :wq 或 :x ;
  2. 不保存且退出 :q! 。

標(biāo)準(zhǔn)操作

刪除字符

在交互模式下,將光標(biāo)定位到一個(gè)你想要?jiǎng)h除的字符上,按下字母鍵 x 你會(huì)發(fā)現(xiàn)這個(gè)字符被刪除了。

也可以一次性刪除多個(gè)字符,只需要在按 x 鍵之前輸入數(shù)字即可。

刪除(剪切)單詞,行

  • 刪除一行:連按兩次 d 來(lái)刪除光標(biāo)所在的那一行。
  • 刪除多行:例如先輸入數(shù)字 2 ,再按下 dd ,就會(huì)刪除從光標(biāo)所在行開(kāi)始的兩行。
  • 刪除一個(gè)單詞:將光標(biāo)置于一個(gè)單詞的首字母處,然后按下 dw 。
  • 刪除多個(gè)單詞:例如先按數(shù)字鍵 2 再按 dw 就可以刪除兩個(gè)單詞了。
  • 從光標(biāo)所在位置刪除至行首:d0 。
  • 從光標(biāo)所在位置刪除至行末:d$ 。

復(fù)制單詞,行

  • 復(fù)制行:按兩次 y 會(huì)把光標(biāo)所在行復(fù)制到內(nèi)存中,和 dd 類(lèi)似, dd 用于"剪切"光標(biāo)所在行。
  • 復(fù)制單詞:yw 會(huì)復(fù)制一個(gè)單詞。
  • 復(fù)制到行末:y$ 是復(fù)制從光標(biāo)所在處到行末的所有字符。
  • 復(fù)制到行首:y0 是復(fù)制光標(biāo)所在處到行首的所有字符。

粘貼

如果之前用 dd 或者 yy 剪切復(fù)制過(guò)來(lái)的,可以使用 p 來(lái)粘貼。同樣也可以使用 數(shù)字+p來(lái)表示復(fù)制多次。

替換一個(gè)字符

在交互模式下,將光標(biāo)置于想要替換的字符上。按下 r 鍵,接著輸入你要替換的字符即可。

撤銷(xiāo)操作

如果要撤銷(xiāo)最近的修改,只需要按下 u 鍵,如果想要撤銷(xiāo)最近四次修改,可以按下4,再按下 u 。

重做

取消撤銷(xiāo),也就是重做之前的修改使用 ctrl + r 。

跳轉(zhuǎn)到指定行

Vim 編輯的文件中,每一行都有一個(gè)行號(hào),行號(hào)從1開(kāi)始,逐一遞增。

行號(hào)默認(rèn)是不顯示,如果需要它顯示的話,可以進(jìn)入命令模式,然后輸入 set nu ,如果要隱藏行號(hào)的話,使用 set nonu 。

  • 跳轉(zhuǎn)到指定行:數(shù)字+gg ,例如 7gg ,表示跳轉(zhuǎn)到第7行。
  • 要跳轉(zhuǎn)到最后一行,按下 G 。
  • 要跳轉(zhuǎn)到第一行,按下 gg 。

高級(jí)操作

查找

處于交互模式下,按下 / 鍵,那么就進(jìn)入查找模式,輸入你要查找的字符串,然后按下回車(chē)。光標(biāo)就會(huì)跳轉(zhuǎn)到文件中下一個(gè)查找到的匹配處。如果字符串不存在,那么會(huì)顯示 "pattern not found" 。

  • n 跳轉(zhuǎn)到下一個(gè)匹配項(xiàng);
  • N 跳轉(zhuǎn)到上一個(gè)匹配項(xiàng)。

[注意] 用斜杠來(lái)進(jìn)行的查找是從當(dāng)前光標(biāo)處開(kāi)始向文件尾搜索,如果你要從當(dāng)前光標(biāo)處開(kāi)始,向文件頭搜索則使用 ? ,當(dāng)然也可以先按下 gg 跳轉(zhuǎn)到第一行在進(jìn)行全文搜索。

查找并替換

替換光標(biāo)所在行第一個(gè)匹配的字符串:

# 語(yǔ)法:s/舊字符串/新字符串# 實(shí)例:s/one/two

替換光標(biāo)所在行所有舊字符串為新字符串:

# 語(yǔ)法:s/舊字符串/新字符串/g

替換第幾行到第幾行中所有字符串:

# 語(yǔ)法:n,m s/舊字符串/新字符串/g

# 實(shí)例:2,4 s/one/two/g

最常用的就是全文替換了:

# 語(yǔ)法:%s/舊字符串/新字符串/g

合并文件

可以用冒號(hào) +r ( :r ) 實(shí)現(xiàn)在光標(biāo)處插入一個(gè)文件的內(nèi)容。

:r filename # 可以用Tab鍵來(lái)自動(dòng)補(bǔ)全另外一個(gè)文件的路徑

關(guān)于軟件測(cè)試,要掌握的知識(shí)和技能有很多。 秋千學(xué)姐分類(lèi)梳理了 500個(gè) 軟件測(cè)試知識(shí)體系中的重點(diǎn)問(wèn)題答案,對(duì)于工作中的技能提升求職面試都有很大幫助,

很實(shí)操很干貨,如果你需要,我發(fā)給你

包含功能測(cè)試、接口測(cè)試、自動(dòng)化測(cè)試、數(shù)據(jù)庫(kù)、Linux、計(jì)算機(jī)網(wǎng)絡(luò)、抓包、算法、Python等內(nèi)容

另外送軟件測(cè)試各類(lèi)電子書(shū)籍

面試或者工作中碰到的軟件測(cè)試問(wèn)題,歡迎在知乎、公眾號(hào)、小紅書(shū)提問(wèn), 秋千學(xué)姐 幫你解答

軟件測(cè)試|推薦閱讀:

秋千說(shuō)軟件測(cè)試:想拿30k軟件測(cè)試offer,看大廠365道軟件測(cè)試常問(wèn)面試真題匯總

秋千說(shuō)軟件測(cè)試:2022最火的軟件測(cè)試面試_計(jì)算機(jī)網(wǎng)絡(luò)真題答案-通過(guò)率百分之百

秋千說(shuō)軟件測(cè)試:2022軟件測(cè)試20k的offer,自動(dòng)化測(cè)試面試題答案分享一波

秋千說(shuō)軟件測(cè)試:2022軟件測(cè)試拿了20k的offer,Python面試題答案分享一波

秋千說(shuō)軟件測(cè)試:2022軟件測(cè)試20k的offer,線程進(jìn)程協(xié)程面試題答案分享一波

秋千說(shuō)軟件測(cè)試:2022軟件測(cè)試拿了20k的offer,計(jì)算機(jī)網(wǎng)絡(luò)面試題答案分享一波

秋千說(shuō)軟件測(cè)試:2022軟件測(cè)試20k的offer,計(jì)算機(jī)網(wǎng)絡(luò)面試題答案分享一波

職場(chǎng)經(jīng)驗(yàn)|推薦閱讀:

秋千說(shuō)軟件測(cè)試:從年薪200萬(wàn)領(lǐng)導(dǎo)身上學(xué)到的職場(chǎng)干貨,彎道超車(chē)

秋千說(shuō)軟件測(cè)試:裁員最先裁哪類(lèi)員工?看紅樓夢(mèng)檢抄大觀園就知道了

面試跳槽|推薦閱讀:

秋千說(shuō)軟件測(cè)試:你的離職原因應(yīng)該這么說(shuō),跳槽必看

秋千說(shuō)軟件測(cè)試:有些人害怕被裁員,有些人等著提裁員大禮包

秋千說(shuō)軟件測(cè)試:面試成功被夸邏輯思維強(qiáng),來(lái)分享面試技巧了

秋千說(shuō)軟件測(cè)試:面試時(shí)千萬(wàn)別說(shuō)這些大實(shí)話!

秋千說(shuō)軟件測(cè)試:就業(yè)不景氣,對(duì)抗焦慮和迷茫,只需要做對(duì)這1點(diǎn)

秋千說(shuō)軟件測(cè)試:為什么你的面試總是掛?面試官最討厭的這些雷區(qū)別踩

四、15個(gè)經(jīng)典會(huì)計(jì)面試題?

會(huì)計(jì)面試的題目大致分為普遍性的問(wèn)題以及專(zhuān)業(yè)性的問(wèn)題,主要有以下結(jié)論經(jīng)典試題:

1、一般納稅人可抵扣票證有哪些?納稅申報(bào)的流程如何?

2、客戶(hù)扣款(已開(kāi)具發(fā)票)如何進(jìn)行會(huì)計(jì)處理?需要附哪些原始單據(jù)?

3、年終獎(jiǎng)是如何計(jì)算繳納個(gè)人所得稅的?

4、財(cái)政年報(bào)和匯算清繳報(bào)表口徑有什么差異?

5、公司購(gòu)買(mǎi)裝修材料用來(lái)裝修租用的辦公用房,如何進(jìn)行會(huì)計(jì)處理?

6、公司開(kāi)辦費(fèi)如何進(jìn)行會(huì)計(jì)核算?所得稅清繳時(shí)如何進(jìn)行調(diào)整?

7、你為什么離開(kāi)以前的公司?

8、你目前的工作是什么?說(shuō)說(shuō)你工作的流程。

9、你覺(jué)得費(fèi)用支出如何處理?(一般為服務(wù)行業(yè))

10、公司成本如何核算?(一般為制造企業(yè))

11、請(qǐng)你談?wù)劗厴I(yè)之后的工作經(jīng)歷。

12、你現(xiàn)在或最近所做的工作,其職責(zé)是什么?你擔(dān)任什么職務(wù)?

13、你認(rèn)為你在工作中的成就是什么?

14、在你主管的部門(mén)中,遇到過(guò)什么困難?你是如何處理或應(yīng)付過(guò)去的?

15、請(qǐng)談一下你在企業(yè)中職務(wù)升遷和收入變化情況。

五、經(jīng)典面試題

在就業(yè)市場(chǎng)競(jìng)爭(zhēng)激烈的今天,面試已成為企業(yè)招聘中不可或缺的環(huán)節(jié)。無(wú)論是畢業(yè)生還是職場(chǎng)人士,都需要準(zhǔn)備好應(yīng)對(duì)各種各樣的面試題。而在面試題中,有一類(lèi)經(jīng)典面試題是經(jīng)常被問(wèn)到的,掌握了這些題目的解答技巧,對(duì)于成功通過(guò)面試將起到關(guān)鍵作用。

經(jīng)典面試題一:“自我介紹”

自我介紹是每個(gè)面試中必不可少的環(huán)節(jié),能夠清晰、簡(jiǎn)潔地介紹自己對(duì)招聘崗位的適應(yīng)度和個(gè)人優(yōu)勢(shì)將給面試官留下良好的第一印象。

解答此題需要注意以下幾點(diǎn):

  1. 簡(jiǎn)潔明了的個(gè)人基本信息。
  2. 強(qiáng)調(diào)適應(yīng)招聘崗位的能力和經(jīng)驗(yàn)。
  3. 突出個(gè)人優(yōu)勢(shì),與其他應(yīng)聘者區(qū)分開(kāi)來(lái)。

經(jīng)典面試題二:“你對(duì)我們公司了解多少?”

通過(guò)這個(gè)問(wèn)題,面試官想了解你是否對(duì)該公司有所了解,并評(píng)估你的研究和準(zhǔn)備能力。

在回答這個(gè)問(wèn)題時(shí),應(yīng)該:

  • 提前了解該公司的背景、業(yè)務(wù)以及最新動(dòng)態(tài)。
  • 強(qiáng)調(diào)與自身背景和職業(yè)目標(biāo)相關(guān)的信息。
  • 主動(dòng)提出自己對(duì)公司的興趣和理解,展示積極主動(dòng)的態(tài)度。

經(jīng)典面試題三:“請(qǐng)談?wù)勀阍谶^(guò)去的工作或項(xiàng)目中遇到的困難及解決方案”

這個(gè)問(wèn)題用來(lái)評(píng)估你的問(wèn)題解決能力和應(yīng)變能力?;卮饡r(shí)應(yīng)該:

  • 選擇一個(gè)具體的例子,通過(guò)故事的方式來(lái)展示自己的經(jīng)歷。
  • 清晰地描述遇到的困難以及解決方案,突出自己承擔(dān)責(zé)任和解決問(wèn)題的能力。
  • 體現(xiàn)自己的學(xué)習(xí)能力和成長(zhǎng)性,說(shuō)明從中獲得了什么經(jīng)驗(yàn)和教訓(xùn)。

經(jīng)典面試題四:“為什么離開(kāi)上一家公司?”

面試官通過(guò)這個(gè)問(wèn)題來(lái)了解你離職的原因,是為了評(píng)估你是否穩(wěn)定性和適應(yīng)能力強(qiáng)。

回答此問(wèn)題時(shí)應(yīng)注意:

  • 積極地表達(dá)離職的原因,并強(qiáng)調(diào)與自身職業(yè)規(guī)劃相關(guān)的因素。
  • 不要負(fù)面評(píng)價(jià)上一家公司或同事,保持積極、專(zhuān)業(yè)的態(tài)度。
  • 突出對(duì)新職位的興趣和動(dòng)力,表達(dá)自己對(duì)未來(lái)發(fā)展的期望。

經(jīng)典面試題五:“你的職業(yè)規(guī)劃是什么?”

這是一個(gè)考察你的長(zhǎng)期職業(yè)目標(biāo)和規(guī)劃的問(wèn)題。

解答此題時(shí)應(yīng)該:

  • 用清晰、簡(jiǎn)潔的語(yǔ)言表達(dá)自己的職業(yè)目標(biāo)。
  • 結(jié)合公司和職位的特點(diǎn),闡述自己與之匹配的能力和經(jīng)驗(yàn)。
  • 強(qiáng)調(diào)自己的學(xué)習(xí)能力和成長(zhǎng)性,表達(dá)對(duì)于不斷提升自己的追求。

經(jīng)典面試題六:“你的優(yōu)點(diǎn)和缺點(diǎn)是什么?”

通過(guò)這個(gè)問(wèn)題,面試官想了解你的自我認(rèn)知和反思能力。

回答此問(wèn)題時(shí)應(yīng)注重:

  • 對(duì)自身的優(yōu)點(diǎn)要真實(shí)、客觀,與招聘崗位和企業(yè)文化匹配。
  • 對(duì)于缺點(diǎn),要選擇相對(duì)不重要或可改善的方面,并展示積極的態(tài)度和解決問(wèn)題的能力。
  • 結(jié)合實(shí)例說(shuō)明自己如何通過(guò)努力改善自身的不足。

以上就是一些經(jīng)典面試題以及針對(duì)這些問(wèn)題的解答技巧。掌握了這些題目的解答方法,將能夠更加自信、流暢地回答面試官的問(wèn)題,給對(duì)方留下深刻印象。當(dāng)然,在面試過(guò)程中,還需要注意言談舉止、形象儀態(tài)等方面的表現(xiàn),與優(yōu)秀的答案相結(jié)合,才能在眾多競(jìng)爭(zhēng)者中脫穎而出,成功獲得心儀的工作機(jī)會(huì)。

六、php小程序面試題

PHP小程序面試題

PHP小程序開(kāi)發(fā)的技能要求越來(lái)越廣泛,從基礎(chǔ)知識(shí)到高級(jí)應(yīng)用都需要掌握。在準(zhǔn)備面試時(shí),掌握一些常見(jiàn)的PHP小程序面試題可以幫助你更好地準(zhǔn)備,展示自己的專(zhuān)業(yè)知識(shí)和技能。下面列舉了一些常見(jiàn)的PHP小程序面試題,希望能對(duì)您有所幫助。

PHP基礎(chǔ)面試題

  • 什么是PHP?

    PHP是一種服務(wù)器端腳本語(yǔ)言,用于開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站和應(yīng)用程序。它可以嵌入到中,并與數(shù)據(jù)庫(kù)結(jié)合使用,實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容的生成。

  • PHP變量的命名規(guī)則是什么?

    PHP變量名以美元符號(hào)($)開(kāi)頭,后面可以是字母、數(shù)字和下劃線的組合,但不能以數(shù)字開(kāi)頭。

  • 如何在PHP中輸出內(nèi)容?

    可以使用echo或print語(yǔ)句輸出內(nèi)容到瀏覽器。

PHP高級(jí)面試題

  • 什么是PHP面向?qū)ο缶幊蹋∣OP)?

    面向?qū)ο缶幊淌且环N程序設(shè)計(jì)范例,它將數(shù)據(jù)和行為組合成為對(duì)象,通過(guò)封裝、繼承和多態(tài)實(shí)現(xiàn)代碼的重用和擴(kuò)展。

  • 如何在PHP中連接數(shù)據(jù)庫(kù)?

    可以使用MySQLi或PDO擴(kuò)展連接MySQL數(shù)據(jù)庫(kù),執(zhí)行查詢(xún)和操作數(shù)據(jù)。

  • 如何處理PHP中的異常?

    可以使用try...catch語(yǔ)句捕獲和處理異常,確保代碼的健壯性。

PHP常見(jiàn)面試題

  • 什么是PHP框架?

    PHP框架是用于簡(jiǎn)化Web應(yīng)用程序開(kāi)發(fā)的工具集,提供了一系列功能和命名約定來(lái)加快開(kāi)發(fā)速度,比如Laravel、Symfony等。

  • 如何防止PHP中的SQL注入攻擊?

    可以使用預(yù)處理語(yǔ)句和綁定參數(shù)來(lái)防止SQL注入攻擊,確保數(shù)據(jù)安全性。

  • 什么是Composer?

    Composer是PHP的依賴(lài)管理工具,用于管理項(xiàng)目中的依賴(lài)包,方便項(xiàng)目的開(kāi)發(fā)和維護(hù)。

以上是一些常見(jiàn)的PHP小程序面試題,希望能幫助您在面試中展現(xiàn)出色的表現(xiàn),祝您面試順利!

七、會(huì)計(jì)面試,比較經(jīng)典的面試題有哪些?

經(jīng)典的面試題,沒(méi)有特別為會(huì)計(jì)行業(yè)的,但是我作為外企的財(cái)務(wù)經(jīng)理,面試人員合計(jì)沒(méi)有五百,也有四百了,給你分享我經(jīng)歷的公司財(cái)務(wù)面試專(zhuān)業(yè)題是什么。

1.固定資產(chǎn)購(gòu)買(mǎi),折舊和處置的會(huì)計(jì)憑證

這個(gè)問(wèn)題是我們面試全球Top30的名校實(shí)習(xí)生時(shí)的面試題,看起來(lái)簡(jiǎn)單,但是真正回答出來(lái)的,只有十分之一的人。(考驗(yàn)專(zhuān)業(yè)知識(shí))

2.關(guān)于報(bào)銷(xiāo)的問(wèn)題,如果公司的某個(gè)大老板報(bào)銷(xiāo)他的出差費(fèi)用,但是他的有筆發(fā)票丟失了,他拿了替代的發(fā)票,請(qǐng)問(wèn)你怎么做?(考驗(yàn)溝通+職場(chǎng)會(huì)計(jì)專(zhuān)業(yè)知識(shí)+實(shí)務(wù)操作)

3.請(qǐng)描述一下從購(gòu)買(mǎi)原材料到款項(xiàng)支付所有涉及的會(huì)計(jì)賬務(wù)處理。

這個(gè)考驗(yàn)了一條線,一個(gè)流程的業(yè)務(wù)數(shù)字程度和涉及的財(cái)務(wù)知識(shí)。

八、經(jīng)典面試題目及最佳答案?

A、別的同仁認(rèn)為我是老板前的紅人,所以處處排擠我。

B、調(diào)薪的結(jié)果令我十分失望,完全與我的付出不成正比。

C、老板不愿授權(quán),工作處處受限,綁手綁腳、很難做事。

D、公司營(yíng)運(yùn)狀況不佳,大家人心惶惶。

解答:超過(guò)一半的人事主管選擇C,其次為D.選擇C的回答,可以顯示應(yīng)征者的企圖心、能力強(qiáng),且希望被賦予更多的職責(zé)。選擇D,則是因離職原因?yàn)閭€(gè)人無(wú)法改變的客觀外在因素,因此,面談?wù)咭簿筒粫?huì)對(duì)個(gè)人的能力或工作表現(xiàn),有太多的存疑。

九、經(jīng)典面試題逆向思維

經(jīng)典面試題逆向思維

引言

在職場(chǎng)競(jìng)爭(zhēng)日益激烈的今天,找工作已經(jīng)成為許多人急需解決的問(wèn)題。面試是進(jìn)入一家公司的敲門(mén)磚,而面試官往往會(huì)提出各種經(jīng)典面試題來(lái)了解應(yīng)聘者的能力和思維方式。如何在面試中脫穎而出?逆向思維或許是一個(gè)有效的策略。

什么是逆向思維?

逆向思維,顧名思義,就是指與常規(guī)思維方向相反的思考方式。在面對(duì)經(jīng)典面試題時(shí),我們往往會(huì)被固有的思維模式所限制,導(dǎo)致回答平淡無(wú)奇。而通過(guò)逆向思維,我們可以打破常規(guī),提供獨(dú)特且出色的答案,給面試官留下深刻印象。

經(jīng)典面試題示例

接下來(lái),我們將結(jié)合具體面試題,探討如何運(yùn)用逆向思維進(jìn)行回答,展現(xiàn)出與眾不同的魅力。

1. 如果讓你設(shè)計(jì)一個(gè)沒(méi)有關(guān)閉按鈕的彈窗廣告,你會(huì)怎么做?

常規(guī)思維:大多數(shù)人會(huì)覺(jué)得這個(gè)任務(wù)很困難,因?yàn)閺棿皬V告往往被用戶(hù)視為打擾。他們可能會(huì)選擇設(shè)計(jì)一個(gè)盡量不顯眼的彈窗,或者提供一個(gè)“X”按鈕來(lái)關(guān)閉。

逆向思維解法:我會(huì)設(shè)計(jì)一個(gè)極具創(chuàng)意的彈窗廣告,讓用戶(hù)在不知不覺(jué)中產(chǎn)生好奇心和共鳴,從而愿意與之互動(dòng),而不需要關(guān)閉按鈕。比如,利用文字和圖案設(shè)計(jì)吸引用戶(hù)點(diǎn)擊,引發(fā)購(gòu)買(mǎi)欲望。

2. 如果讓你把整個(gè)英國(guó)都以一英寸地圖的規(guī)模繪制在一個(gè)小房間里,你會(huì)怎么做?

常規(guī)思維:大多數(shù)人可能會(huì)覺(jué)得這個(gè)任務(wù)根本無(wú)法完成,因?yàn)橛?guó)的面積實(shí)在太大。他們可能會(huì)選擇放棄或者設(shè)計(jì)一個(gè)縮小比例尺的地圖。

逆向思維解法:我會(huì)選擇運(yùn)用抽象的符號(hào)和顏色來(lái)代表地理元素,同時(shí)利用房間的立體空間進(jìn)行布局,呈現(xiàn)出英國(guó)的整體輪廓和重要標(biāo)志,讓觀者一目了然。

結(jié)語(yǔ)

在面試中,經(jīng)典面試題往往是考察應(yīng)聘者思維跳躍和創(chuàng)造力的重要手段。通過(guò)逆向思維,我們可以打破思維定式,提供出色的答案,展現(xiàn)獨(dú)特的視角和能力。希望本文對(duì)你在應(yīng)對(duì)經(jīng)典面試題時(shí)有所啟發(fā),祝你面試順利!

十、java基礎(chǔ)面試題(經(jīng)典)

大家好,歡迎來(lái)到我的博客!今天我要為大家分享的是關(guān)于Java基礎(chǔ)面試題(經(jīng)典)的內(nèi)容。在準(zhǔn)備面試之前,了解一些常見(jiàn)的面試題是非常重要的。這些問(wèn)題考察了你對(duì)Java編程語(yǔ)言的基本理解和掌握情況,對(duì)于未來(lái)在實(shí)際工作中能否運(yùn)用Java來(lái)解決問(wèn)題起到了很好的檢驗(yàn)作用。

什么是Java基礎(chǔ)面試題(經(jīng)典)?

Java基礎(chǔ)面試題(經(jīng)典)是指那些在Java編程語(yǔ)言的學(xué)習(xí)和應(yīng)用過(guò)程中廣泛?jiǎn)柤暗慕?jīng)典問(wèn)題。這些問(wèn)題涵蓋了Java基礎(chǔ)知識(shí)、語(yǔ)法、面向?qū)ο缶幊?、集合框架、異常處理、多線程等方面。掌握了Java基礎(chǔ)面試題(經(jīng)典),你可以更好地理解和運(yùn)用Java編程語(yǔ)言。

為什么要關(guān)注Java基礎(chǔ)面試題(經(jīng)典)?

在求職過(guò)程中,掌握J(rèn)ava基礎(chǔ)面試題(經(jīng)典)有助于提升你的競(jìng)爭(zhēng)力。很多招聘者在面試中會(huì)問(wèn)及一些經(jīng)典的Java基礎(chǔ)問(wèn)題,這些問(wèn)題旨在考察你對(duì)Java核心知識(shí)的掌握程度。通過(guò)事先準(zhǔn)備并熟悉這些問(wèn)題,你可以在面試中展現(xiàn)自己的知識(shí)水平,給招聘者留下深刻的印象,提高你被錄用的機(jī)會(huì)。

Java基礎(chǔ)面試題(經(jīng)典)示例

接下來(lái),我將為大家提供一些Java基礎(chǔ)面試題(經(jīng)典)的示例,希望能幫助大家更好地準(zhǔn)備面試。

1. 請(qǐng)解釋Java中的面向?qū)ο缶幊?OOP)是什么?

Java是一種面向?qū)ο缶幊陶Z(yǔ)言,面向?qū)ο缶幊淌且环N軟件開(kāi)發(fā)方法,通過(guò)將實(shí)際世界中的事物抽象成對(duì)象來(lái)解決問(wèn)題。在Java中,對(duì)象是根據(jù)類(lèi)(Class)定義的,類(lèi)是對(duì)象的模板,用于描述對(duì)象的屬性和行為。

2. Java中的字符串是可變的還是不可變的?

在Java中,字符串是不可變的,也就是說(shuō)一旦創(chuàng)建了一個(gè)字符串對(duì)象,就不能再改變它。當(dāng)對(duì)字符串進(jìn)行修改時(shí),實(shí)際上是創(chuàng)建了一個(gè)新的字符串對(duì)象,原始字符串對(duì)象并沒(méi)有改變。

3. 請(qǐng)解釋Java中的靜態(tài)方法和實(shí)例方法的區(qū)別。

靜態(tài)方法是屬于類(lèi)的方法,可以直接通過(guò)類(lèi)名調(diào)用,而不需要?jiǎng)?chuàng)建類(lèi)的實(shí)例。靜態(tài)方法中不能直接訪問(wèn)類(lèi)的非靜態(tài)成員,只能訪問(wèn)靜態(tài)成員。實(shí)例方法是屬于類(lèi)的實(shí)例的方法,需要通過(guò)創(chuàng)建類(lèi)的實(shí)例來(lái)調(diào)用,可以訪問(wèn)類(lèi)的靜態(tài)和非靜態(tài)成員。

4. 什么是Java中的繼承?如何實(shí)現(xiàn)繼承?

繼承是面向?qū)ο缶幊讨械囊粋€(gè)重要概念,它允許一個(gè)類(lèi)(稱(chēng)為子類(lèi)或派生類(lèi))繼承另一個(gè)類(lèi)(稱(chēng)為父類(lèi)或基類(lèi))的屬性和方法。在Java中,可以通過(guò)使用關(guān)鍵字“extends”來(lái)實(shí)現(xiàn)繼承。

5. 請(qǐng)解釋Java中的多態(tài)性是什么?怎么實(shí)現(xiàn)多態(tài)性?

多態(tài)性是指一個(gè)對(duì)象在不同情況下具有不同的表現(xiàn)形式或表現(xiàn)行為的能力。在Java中,多態(tài)性可以通過(guò)繼承和接口來(lái)實(shí)現(xiàn)。當(dāng)子類(lèi)繼承父類(lèi)或?qū)崿F(xiàn)接口時(shí),可以以父類(lèi)或接口類(lèi)型引用子類(lèi)對(duì)象,實(shí)現(xiàn)編譯時(shí)的多態(tài)性。

6. Java中的異常處理機(jī)制是什么?

Java中的異常處理機(jī)制可以幫助我們更好地處理代碼中可能出現(xiàn)的錯(cuò)誤和異常情況。它通過(guò)使用try-catch語(yǔ)句塊來(lái)捕獲和處理可能發(fā)生的異常,從而保證程序的正常執(zhí)行。

7. Java中的集合框架有哪些?

Java中的集合框架提供了一組實(shí)現(xiàn)了常用數(shù)據(jù)結(jié)構(gòu)的類(lèi)和接口。常見(jiàn)的集合框架包括List(列表)、Set(集合)、Map(映射)等。它們分別提供了不同的數(shù)據(jù)存儲(chǔ)和訪問(wèn)方式,適用于不同的場(chǎng)景和需求。

8. 請(qǐng)解釋Java中的線程是什么?如何創(chuàng)建和控制線程?

線程是程序執(zhí)行的最小單元,它代表了一個(gè)獨(dú)立的執(zhí)行路徑。在Java中,可以通過(guò)繼承Thread類(lèi)或?qū)崿F(xiàn)Runnable接口來(lái)創(chuàng)建線程。線程的創(chuàng)建和控制可以使用Thread類(lèi)提供的方法來(lái)實(shí)現(xiàn),如start()、sleep()、join()等。

總結(jié)

通過(guò)準(zhǔn)備和熟悉Java基礎(chǔ)面試題(經(jīng)典),你可以增加在Java面試中的競(jìng)爭(zhēng)力,并展示自己的知識(shí)水平和技能。我希望本篇博客能夠?qū)δ阍诿嬖囍械臏?zhǔn)備有所幫助。

如果你對(duì)Java基礎(chǔ)面試題(經(jīng)典)有任何疑問(wèn)或想進(jìn)一步討論,歡迎在評(píng)論區(qū)留言。謝謝大家的閱讀!

相關(guān)資訊
熱門(mén)頻道

Copyright © 2024 招聘街 滇ICP備2024020316號(hào)-38