Linux系統(一)文件系統、壓縮、打包操作總結

来源:http://www.cnblogs.com/knowledgesea/archive/2017/02/22/6146303.html
-Advertisement-
Play Games

序言 當前的形勢,.Net已經開源,.Net Core 正在跨平臺,可見微軟巨人在努力,在改變,在進步,在走向春天。從前被微軟供作上帝的.Net從業者,如果不打開心扉面向開源,改變自己,那麼很可能在不久的將來,恐英雄無用武之地,可悲可嘆,嗚呼哀哉! 如今Linux已經是開發者必備技能之一,我們想要了 ...


序言

當前的形勢,.Net已經開源,.Net Core 正在跨平臺,可見微軟巨人在努力,在改變,在進步,在走向春天。從前被微軟供作上帝的.Net從業者,如果不打開心扉面向開源,改變自己,那麼很可能在不久的將來,恐英雄無用武之地,可悲可嘆,嗚呼哀哉!

如今Linux已經是開發者必備技能之一,我們想要瞭解它,深入它,就不能偷懶,只操作圖標按鈕完美的界面。我要像微軟一樣改變,進步,深入,飛翔,與太陽肩並肩。

那麼感興趣者就來跟哥哥裝裝B,漲漲姿勢,敲敲像電視劇裡面只有黑客才會懂的,黑色背景下的命令吧。一天一點,重在累積吧,其實Linux的學習也就是一個積沙成塔的過程,前後關聯不是很大,學一點會一點,努力吧。

我的Linux目標

我的目標很簡單,就是用命令操作Linux系統,像操作Windows一樣簡單,直觀。

前提:0、不知道什麼是Linux的請點擊網頁頂部右上方的X。1、裝個Linux系統,我裝的是CentOS7,不會裝系統的也請點擊網頁右上角的X。2、你要自己能夠進入系統中,不要自己都登錄,連接不上(好尷尬啊,也X吧)!

接下來我會寫幾篇關於linux的博文,裡面的命令我建議初學者不要只看,不練,要看著敲著,用心記著,記不著啦,就常回來看看。

始於cd,ls命令

好啦,步入正題,我使用的linux連接工具為xshell,mRemoteNG,對兩款工具不做介紹啦,你可以百度一下,實在不會入左上方群。

進入之後,便是上面的界面黑乎乎一片,對於初學者也可能是一片懵逼,猶如狗拿刺蝟,那麼不要急,我們先來看下人生中的第一個linux命令:ls 與 cd 。

首先你先使用下麵的cd命令:

[root@localhost ~]#   這個是當前用戶的用戶文件夾主目錄
[root@localhost  /]#   這個是整個系統的根目錄

緊接著輸入ls命令展示出一下結果。

那麼這些文件都裝載啦什麼東東,為什麼要放在根目錄下,接下來我們對此做個詳解。

ls,cd命令的語法與參數使用方法:http://man.linuxde.net  ,不能偷懶哦,要敲敲, 你才能學好,多敲才能記住的。

Linux的文件種類,擴展名

在linux中,任何設備都是文件,就連數據通信介面也有專門的文件負責。所以我們要搞清楚linux下的文件有哪些?哪些作用?

首先我們這樣輸入命令,如下:

亂七八糟的都是什麼呢?我拿dev這個文件夾做為示例分解下:

1、文件類型

普通文件:就是我們一般的文件,他在linux中按照文件內容大致分文3種。

  • 純文本文件(ASCII):內容直接被我們讀到,如數字,字母等,幾乎我們可以設置讀寫的文件都是這一種,他可以通過cat命令打開,直接查看內容。
  • 二進位文件(binary):linux唯一可以識別執行的文件,在系統中可執行文件就是這種格式,例如:剛剛執行的cat就是一個二進位文件。
  • 數據格式文件(data):程式在運行過程中讀取的特定格式文件,就是數據文件,比如:用戶登錄的用戶數據記錄在/var/log/wtmp這個數據格式文件中。比較明顯的特征使用last可以讀出來,cat讀時是亂碼。

塊(block)設備文件:為一些存儲數據,以體統隨機訪問的介面設備,如硬碟,軟盤等,可以隨機的在硬碟的不同塊讀寫,可以看看/dev/sda

字元(character)設備文件:一些串列埠的介面設備,如鍵盤、滑鼠等。這些設備的特征就是“一次性讀取”的,不能夠截斷輸出。例如:滑鼠只能滑動到一個地方而不能跳到另外一個地方。

套位元組(sockets):這種文件類型用於在網路上的數據連接。

管道(FIFO,pipe):fifo,first-in-first-out,主要解決多個程式同事訪問一個文件所造成的錯誤問題。

目錄(directory):就是目錄。

連接文件(link):類似windows系統中的快捷鍵。

 2、文件許可權r-xr-xr-x

  • 縮寫字母的意義:x:可執行,r:可讀,w:可寫,-占位。
  • 123:擁有者許可權,456:用戶組用戶許可權,789:其他用戶許可權。
  • 特征順序為rwx。

3、連接數:表示有多少文件名連接到此節點。

4、文件名

  • linux中沒有像windows中所謂的擴展名。但是為啦方便認識還是要有寫擴展名的習慣。
  • 文件長度限制,一般不要超過255個字元就好。

  • 文件命名限制,最好避免*?><;&|、\'"(){}

文件目錄結構

當你打開linux系統之後,輸入命令:cd \ 進入根目錄之後,再ls會顯示出如下目錄結構

那麼這些目錄都有存放些什麼文件,我們的文件又該以何種規範來存放呢?

Linux目錄結構標準:FHS(Filesystem Hierarchy Standard)標準

為什麼要使用一個標準呢?很簡單,就是讓用戶和廠商有個共同的認識與約束,不至於各自為政,把linux系統的目錄搞的亂七八糟,東西隨便放,那我們的學習成本就很大啦。

關於FHS網上有很多介紹,FHS根據多去的經驗也一直在持續改版(http://www.pathname.com/fhs/),FHS根據文件系統使用的頻繁情況,是否允許用戶隨意改動,將目錄定義成4種交互作用的形態,如下:

  • 可分享的:可以分享給其他系統掛載使用的目錄。
  • 不可分享的:僅與自身機器有關,不適合分享給其他主機的。如自己機器上運行的設備文件或者與程式有關的socket文件。
  • 不變的:不會經常變動的數據,如說明文件,函數庫,主機服務配置文件等。
  • 可變動的:經常會改變的數據,如登錄文件,新聞組等。

根目錄與根目錄下的文件夾存放說明

根目錄是整個系統最重要的一個目錄,因為所有的目錄都是由它衍生出來,而且根目錄也與開機,還原,系統修複等操作有關。

由於系統開機需要特定的開機軟體、內核文件、開機所需要的程式、函數庫等文件數據,若系統出現異常時,根目錄也要有能夠修複文件系統的程式。由此可見根目錄的重要性,所以FHS建議,根目錄不要放在非常大的分區內,因為越大防止的文件越多,出錯的幾率也越大,性能也越不好,所以,根目錄應該越小越好,且應用程式所安裝的軟體最好不要與根目錄放在一個分區內。

由此我們來說說下麵的文件都是什麼,又怎麼放置才好。

其實,FHS標準對根目錄的定義僅有如下的目錄數據。

其中有5個目錄不可與根目錄分開放在不同的分區。這5個目錄分別為:etc,bin,dev,lib,sbin。

那麼除啦以上的文件夾之外,還有一些linux系統中也非常重要的目錄如下:

/dev目錄:

  • hd[a-t]:IDE設備
  • sd[a-z]:SCSI設備
  • fd[0-7]:標準軟碟機
  • md[0-31]:軟raid設備
  • loop[0-7]:本地迴環設備
  • ram[0-15]:記憶體
  • null:無限數據接收設備,相當於黑洞
  • zero:無限零資源
  • tty[0-63]:虛擬終端
  • ttyS[0-3]:串口
  • lp[0-3]:並口
  • console:控制台
  • fb[0-31]:framebuffer
  • cdrom => /dev/hdc
  • modem => /dev/ttyS[0-9]
  • pilot => /dev/ttyS[0-9]
  • random:隨機數設備
  • urandom:隨機數設備

/etc目錄

  • /etc/rc,/etc/rc.d,/etc/rc*.d : 啟動、或改變運行級時運行的scripts或scripts的目錄。
  • /etc/passwd: 用戶資料庫,其中的域給出了用戶名、真實姓名、家目錄、加密的口令和用戶的其他信息。
  • /etc/fstab :啟動時mount -a命令(在/etc/rc 或等效的啟動文件中)自動mount的文件系統列表。Linux下,也包括用swapon -a啟用的swap區的信息。
  • /etc/group :類似/etc/passwd ,但說明的不是用戶而是用戶組。
  • /etc/inittab :init 的配置文件,設定系統啟動時init進程將把系統設置成什麼樣的runlevel 。
  • /etc/issue getty 在登錄提示符前的輸出信息.通常包括系統的一段短說明或歡迎信息內容由系統管理員確定。
  • /etc/motd: Message Of The Day,成功登錄後自動輸出內容由系統管理員確定,經常用於通告信息,如計劃關機時間的警告。
  • /etc/mtab: 當前安裝的文件系統列表.由scripts初始化,並由mount 命令自動更新,需要一個當前安裝的文件系統的列表時使用,例如df 命令。
  • /etc/shadow: 在安裝了影子口令軟體的系統上的影子口令文件.影子口令文件將/etc/passwd 文件中的加密口令移動到/etc/shadow 中,而後者只對root可讀這使破譯口令更困難.
  • /etc/login.defs: login 命令的配置文件。
  • /etc/printcap: 類似/etc/termcap ,但針對印表機語法不同。
  • /etc/profile , /etc/csh.login , /etc/csh.cshrc :登錄或啟動時Bourne或C shells執行的文件,這允許系統管理員為所有用戶建立全局預設環境。
  • /etc/securetty: 確認安全終端,即哪個終端允許root登錄.一般只列出虛擬控制台,這樣就不可能(至少很困難)通過modem或網路闖入系統並得到超級用戶特權。
  • /etc/shells: 列出可信任的shell.chsh 命令允許用戶在本文件指定範圍內改變登錄shell.提供一臺機器FTP服務的服務進程ftpd 檢查用戶shell是否列在 /etc/shells 文件中,如果不是將不允許該用戶登錄.
  • /etc/sysconfig :網路配置相關目錄
  • /etc/DIR_COLORS: 設定顏色
  • /etc/HOSTNAME: 設定用戶的節點名
  • /etc/NETWORKING: 只有YES標明網路存在
  • /etc/host.conf: 文件說明用戶的系統如何查詢節點名
  • /etc/hosts: 設定用戶自已的IP與名字的對應表
  • /etc/hosts.allow: 設置允許使用inetd的機器使用
  • /etc/hosts.deny: 設置不允許使用inetd的機器使用
  • /etc/hosts.equiv: 設置遠端機不用密碼
  • /etc/inetd.conf: 設定系統網路守護進程inetd的配置
  • /etc/inetd.pid :inetd這個進程的進程id
  • /etc/hosts.lpd :設定遠端有哪些節點可以使用本機的印表機
  • /etc/gateways: 設定路由器
  • /etc/protocols: 設定系統支持的協議
  • /etc/named.boot: 設定本機為名字伺服器的配置文件
  • /etc/named.pid: 本機上運行的名字伺服器的進程id
  • /etc/networks :設定網路的配置文件
  • /etc/resolv.conf :設定系統的名字伺服器
  • /etc/services: 設定系統的端品與協議類型和提供的服務
  • /etc/exports: 設定NFS系統用的
  • /etc/NNTP_INEWS_DOMAIN: 設置新聞伺服器的配置文件
  • /etc/nntpserver: 設置用戶使用的新聞伺服器的地址
  • /etc/XF86Config: X Window的配置文件
  • /etc/hostid: 系統獨有的一個硬體id
  • /etc/at.deny: 設置哪些用戶不能使用at命令
  • /etc/bootptab: 給MAKEDEV程式設定各種不同的設備驅動文件的格式
  • /etc/makedev.cfg: 同DEVINFO一樣給MAKEDEV使用的設置文件
  • /etc/diphosts: 設置拔號伺服器的用戶名和口令
  • /etc/slip.hosts,/etc/slip.login: 設定SLIP的配置文件
  • /etc/fastboot: 使用shutdown -f產生的,重啟系統要查這個文件
  • /etc/fstab: 記錄開機要mount的文件系統
  • /etc/ftpaccess: FTP伺服器的一些配置
  • /etc/ftpconversions: 設定在FTP時使用的過濾器的位置
  • /etc/ftpusers: 設定不能使用FTP服務的用戶
  • /etc/ld.so.cache: 查找系統動態鏈接庫的緩存
  • /etc/ld.so.conf: 系統動態鏈接庫的路徑
  • /etc/lilo.conf lilo:的配置文件
  • /etc/magic: 給file命令使用的
  • /etc/aliases :給sendmail使用的設置別名的文件
  • /etc/sendmail.st: 設置sendmail的
  • /etc/motd: 超級用戶發佈通知的地方
  • /etc/organization: 存放用戶的名字和組織
  • /etc/pnpdevices: 列出支持的Plug&Play設備
  • /etc/snooptad: 監控用戶的屏幕,監聽的終端列表
  • /etc/sudoers: 可以sudo命令的配置文件
  • /etc/syslog.conf: 系統記錄程式syslogd的配置文件
  • /etc/utmp: 目前在用系統的用戶信息
  • /etc/wtmp: 同utmp差不多,只是它累加
  • /etc/nologin: 系統在shutdown時不希望用戶登錄就產生這個文件
  • /etc/termcap: 設置系統終端信息的
  • /etc/ttys: 設定系統的終端類型
  • /etc/gettydefs: getty_ps的定義文件
  • /etc/yp.conf: NIS的配置文件
  • /etc/mtools.conf: 設定mtools程式的參數
  • /etc/fdprm: 設定格式化軟盤的參數
  • /etc/login.access: 控制用戶登錄許可權的文件

/proc目錄

  • /proc/cmdline: 載入 kernel 時所下達的相關參數,查閱此文件,可瞭解系統是如何啟動。
  • /proc/cpuinfo: 本機的 CPU 的相關資訊,包含時脈、類型與運算功能等
  • /proc/devices: 這個文件記錄了系統各個主要裝置的主要裝置代號,與 mknod 有關。
  • /proc/filesystems: 目前系統已經載入的文件系統。
  • /proc/interrupts: 目前系統上面的 IRQ 分配狀態。
  • /proc/ioports: 目前系統上面各個裝置所配置的 I/O 位址。
  • /proc/kcore: 這個就是記憶體的大小,但是不要讀他。
  • /proc/loadavg: 還記得 top 以及 uptime 吧?沒錯,上頭的三個平均數值就是記錄在此。
  • /proc/meminfo: 使用 free 列出的記憶體資訊,在這裡也能夠查閱到。
  • /proc/modules: 目前我們的 Linux 已經載入的模塊列表,也可以想成是驅動程式。
  • /proc/mounts: 系統已經掛載的數據,就是用 mount 這個命令呼叫出來的數據。
  • /proc/swaps: 到底系統掛載入的記憶體在哪裡?使用掉的 partition 就記錄在此啦。
  • /proc/partitions: 使用 fdisk -l 會出現目前所有的 partition 吧?在這個文件當中也有紀錄。
  • /proc/pci: 在 PCI 匯流排上面,每個裝置的詳細情況,可用 lspci 來查閱。
  • /proc/uptime: 就是用 uptime 的時候,會出現的資訊。
  • /proc/version: 核心的版本,就是用 uname -a 顯示的內容。
  • /proc/bus/*: 一些匯流排的裝置,還有 U盤 的裝置也記錄在此。

/usr目錄

依據FHS的基本定義/usr裡面放置的數據屬於可分享不可變動的。usr是UNIX Software Resource的縮寫,也就是“UNIX操作系統軟體資源”所放置的目錄,而不是用戶數據,不要跟user扯上關係。它相當於windows系統中的c:\windows與c:program files這兩個目錄的綜合體。剛裝完系統時,這個目錄占用的硬碟容量最多。因為幾乎所有的應用程式都安裝在這裡,本地安裝的程式和其他東西放在/usr/local下。

  • /usr/etc: 存放配置文件。
  • /usr/games: 存放游戲和教學文件。
  • /usr/include: c/c++等程式語言的頭文件與包含文件放置處,當我們以tarball方式(*.tar.gz的方式安裝軟體)安裝某些數據時,會使用到裡面的許多包含文件。開發和編譯應用程式所需要的頭文件。
  • /usr/share:放置共用文件的地方,在這個目錄下放置的數據幾乎是不分硬體架構均可讀取的數據,因為幾乎都是文本文件。如/usr/share/man:線上幫助文件,/usr/share/doc:軟體雜項的文件說明,zoneinfo:與時區相關的文件。
  • /usr/bin: 絕大部分用戶可使用的命令都放在這裡。有些命令在/bin(是否與開機過程有關) 或/usr/local/bin 中。
  • /usr/sbin :根文件系統不必要的系統管理命令,例如多數服務程式。
  • /usr/share/man , /usr/share/info , /usr/share/doc: 手冊頁、GNU信息文檔和各種其他文檔文件。
  • /usr/lib: 包含各應用軟體的函數庫,目標文件,以及不被一般用戶慣用的執行文件或腳本。某些軟體會提供一些特殊的命令來進行伺服器的設置,這些命令也不會經常被系統管理員操作,那就被放在這個目錄下。
  • /usr/local:管理員在本機自己安裝自己下載的軟體,建議安裝到此目錄。該目錄也具有bin,etc,include,lib。
  • /usr/src: 存放程式的源代碼,linux內核的源代碼存放在/usr/src/kernels。

/var目錄

usr是安裝時占用大量的硬碟容量,而var則是在系統運行後才會慢慢占用硬碟的容量。因為var目錄主要針對常態性變動的文件,比如,緩存,登錄文件,以及某些軟體運行所產生的文件,包括程式文件(lock file,run file)。

  • /var/catman:當要求格式化時的man頁的cache.man頁的源文件一般存在/usr/man/man* 中;有些man頁可能有預格式化的版本,存在/usr/man/cat* 中.而其他的man頁在第一次看時需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了. (/var/catman 經常被清除,就象清除臨時目錄一樣.)
  • /var/lib:系統正常運行時要改變的文件。
  • /var/local,/usr/local:中安裝的程式的可變數據(即系統管理員安裝的程式).註意,如果必要,即使本地安裝的程式也會使用其他/var 目錄,例如/var/lock 。
  • /var/lock:鎖定文件.許多程式遵循在/var/lock 中產生一個鎖定文件的約定,以支持他們正在使用某個特定的設備或文件.其他程式註意到這個鎖定文件,將不試圖使用這個設備或文件。
  • /var/log:各種程式的Log文件,特別是login (/var/log/wtmp log所有到系統的登錄和註銷) 和syslog (/var/log/messages 里存儲所有核心和系統程式信息. /var/log 里的文件經常不確定地增長,應該定期清除。
  • /var/run:某些程式或者服務啟動後,會將他們的pid放置在這個目錄下。保存到下次引導前有效的關於系統的信息文件.例如, /var/run/utmp 包含當前登錄的用戶的信息。
  • /var/spool:放置一些隊列數據,就是排隊等待其他程式使用的數據。這些數據被使用後通常都會被刪除。例如,系統收到新信件會放置到/var/spool/mail中,用戶收下後,該信件原則上時會被刪除。信件如果暫時寄不出去會被放到/var/spool/mqueue中,等到被送出去就被刪除。如果是工作排程數據,就會被放置到/var/spool/cron目錄中。
  • /var/tmp 比/tmp:允許的大或需要存在較長時間的臨時文件。 (雖然系統管理員可能不允許/var/tmp 有很舊的文件.)
  • /var/cache:應用程式本身運行過程中會產生的一些暫存文件。

LIUNX系統的目錄樹,如下:

Linux系統中文件的壓縮打包功能 

壓縮:是一種通過特定的演算法來減小電腦文件大小的機制(百度百科下)。

打包:將多個文件放入一個文件中,最終以一個文件的形式存在。

Linux系統中常見的壓縮命令有三種:compress , gzip , bzip2 。

  • compress:這個壓縮命令僅存在古老的unix機器上,是一個很古老的壓縮方式,被gzip所取代,gzip也可以解壓commress的壓縮文件。所以我這裡不做過多介紹,有需求的朋友可以:http://man.linuxde.net/compress  我這裡給一個截圖如下:
  • gzip:這個壓縮命令在目前來說算是最常見的,它可以解開compress\zip\gzip等軟體所壓縮的文件。有9個壓縮等級,1最快壓縮比最差,9最慢壓縮比最好,預設為6。使用zcat命令可以查看讀取compress與gzip的壓縮文件。對文本的壓縮率可達到:60%-70%,可配合tar使用。
  • bzip:如果說gzip是用來取代compress的,那麼bzip就是為了取代gzip而存在的。他的壓縮率竟然比gzip還要好,可配合tar使用。

gzip的常用用法:

語法:gzip  參數  文件名

參數:

-c:將壓縮的數據輸出到屏幕上,可通過數據重定向來處理。

-d:解壓的參數

-t:可以用來檢驗一個壓縮文件的一致性,看看文件是否有錯誤。

-v:可以顯示出源文件/壓縮文件的壓縮比信息。

-#:壓縮等級,1-9。

常用的語句:壓縮:gzip -v filename  ,解壓:gzip -d filename 。 查看文本壓縮文件:zcat 文件名。

bzip2的常用用法:

語法:bzip2 參數 文件名

參數:

-c:將壓縮過程中產生的數據輸出到屏幕上

-d:解壓縮

-k:保留源文件,而不會刪除原始文件

-z:壓縮

-v:顯示出源文件/壓縮文件的壓縮比等信息。

-#:與gzip相同,1-9壓縮比的參數,1最快,9最佳。

常用的語句:壓縮:bzip2 -z  filename ,解壓:bzip2 -d filename 。查看壓縮文本:bzcat filename.bz2

tar打包命令

以上三種壓縮解壓只能針對單文件執行,那麼如果將多個文件合併到一個大文件中,怎麼做到呢?那就要用tar這個命令。tar不止這麼多,它還支持gzip/bzip2在打包的同時對文件進行壓縮。由於這tar使用過於廣泛,就連windows中的WinRAR也支持.tar.gz文件名的解壓縮。

語法:打包與壓縮:tar  [-j|-z] [cv] [-f 新建的文件名] filename     解壓縮: tar [-j|-z] [xv] [-f 新建的文件名] [-C 目錄]

參數:

-c:新建打包文件,可搭配-v來查看過程中被打包的文件名

-t:查看打包文件的內容含有那些文件名,重點在查看文件

-x:解壓縮或解打包的功能,可搭配-C在特定目錄解開。特別留意的是,-c,-t,-x不可同時出現在一串命令中。

-j:通過bzip2的支持進行壓縮或解壓。

-z:通過gzip的支持進行壓縮或解壓。

-v:在壓縮或解壓的過程中,將正在處理的文件名稱顯示出來。

-f filename:-f後面要接被處理的文件名。建議-f單獨寫一個參數。

-C 目錄:這個參數在解壓時,若要在特定目錄解壓縮,可以使用這個參數。

 

.tar.bz2 格式常用的語法

解壓: tar jxvf filename.tar.bz2 , 壓縮: tar jcvf filename.tar.bz2  要壓縮的文件

.tar.gz 格式常用的語法

解壓:tar zxvf filename.tar.gz ,壓縮: tar zcvf filename.tar.gz  要壓縮的文件

總結

接下來是大家最喜歡的總結內容啦,內容有三,如下:

1、希望能關註我其他的文章。

2、博客裡面有沒有很清楚的說明白,或者你有更好的方式,那麼歡迎加入左上方的2個交流群,我們一起學習探討。

3、你可以忘記點贊加關註,但千萬不要忘記掃碼打賞哦。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉自:http://www.0791quanquan.com/news_keji/topic_816453/ 探索一:正負數問題 拿tinyint欄位來舉例,unsigned後,欄位的取值範圍是0-255,而signed的範圍是-128 - 127。 那麼如果我們在明確不需要負值存在的情況下,通常是 ...
  • 1:在進行count()統計某列的記錄數的時候,如果採用的NULL值,會別系統自動忽略掉,但是空值是會進行統計到其中的。 2: 判斷NULL 用IS NULL 或者 is not null,SQL 語句函數中可以使用ifnull()函數來進行處理,判斷空字元用=''或者 <>''來進行處理 3: 對 ...
  • 問題1: 解決方法: (該解決方法是設置為NAT模式) 問題2: 解決方法: 問題3: 設置虛擬機與系統時間同步問題 在安裝完CentOS系統後發現時間與現在時間相差8小時,這是由於我們在安裝系統的時選擇的時區是上海, 而CentOS預設bios時間是utc時間,所以時間相差了8小時。這個時候的bi ...
  • sed做為linux下的三劍客,自然功能強大,但是如果使用不當,反而適得其反,今天就因為這個命令採了很深坑,分析一下原因,以諫後來者。 情景回顧: 項目中使用的一個python爬蟲採用的是多線程併發爬取,輸入為一個存放url的文件,因為程式隨時可能停止,所以每次重啟程式的時候需要將以爬取過的url去 ...
  • 作者信息 作者: 彭東林 郵箱: [email protected] QQ: 405728433 軟體平臺 主機: Ubuntu14.04 64位版本 模擬器:Qemu-2.8.0 Linux內核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具鏈: gc ...
  • 序言 如果大家都愛裝逼,一般會偏愛使用安裝最小化的liunx系統,那麼你的系統就不帶圖形化的桌面功能,這樣對於一個想裝B的初學者來說,Liunx就是黑漆馬虎,一望無際的黑屏,黑屏,如何快速的對liunx系統有個較為全面基礎的認識呢?答:繼續往下讀,哈哈。 本篇目的就是讓大家對linux系統有個全面的 ...
  • 預設網卡名稱是 eno16777736 1、修改配置文件 ifcfg-eno16777736 將 NAME 和 DEVICE 修改為 eth0 重命名該文件 2、禁用該可預測命名規則 在 grup 文件裡面的 GRUB_CMDLINE_LINUX 變數添加 net.ifnames=0 biosdev ...
  • linux下列出所有連接到你的Server的IP地址 最近要做一個檢查所有連接到主機的IP的腳本,google到一篇老外寫的文章 "《List all IP addresses connected to your Server》" 試了一下腳本結果好像可以。因為對linux瞭解很少,所以對這 行 腳 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...