當前位置:首頁 » 操作系統 » linuxdone

linuxdone

發布時間: 2022-05-11 09:23:19

A. 請問一個linux下的指令問題

1、for在shell中用於循環
常用格式
格式一
for 變數
do
語句
done
格式二
for 變數 in 列表
do
語句
done
格式三
for ((變數=初始值; 條件判斷; 變數變化))
do
語句
done

比如:
for s in 1,2,4,5
do
echo $s
done

輸出: 1 2 4 5

2、tar 中的-C 指定壓縮或者解壓文件的路徑
for f in $(ls *.tar.gz); do tar -zxvf $f –C ../src-86; done

意思就是把當前目錄下的所有gz壓縮文件,解壓到 ../src-86文件夾下面去

B. linux中while/do/done用法,

#!/bin/bash

echo "Enter password:"

read TRY

COUNTER=1

while [ "$COUNTER" -lt 5 -a "$TRY" != "secret" ]; do

echo "Here we go again"

COUNTER=$(($COUNTER+1))

read TRY

done

[ "$TRY" != "secret" ] && echo "error!"

C. linux可執行文件的運行命令

LS的,你的說法是不正確的,你對運行命令的認識不清楚。。。
比如說你想用ls命令查看當前目錄,你當然可以直接使用ls,這是因為你的PATH的設置。拋開PATH,你可以使用/bin/ls,你可以試試,但肯定不會是「./bin/ls」的。

至於你說的"./路徑/文件名",適用於要執行的文件相對於當前目錄的某個位置。因為「.」的意思是當前目錄

所以正確的說法是"/路徑/文件名",也就是可執行文件的絕對路徑,你說的情況算是這裡面的一種。。。當然出現PATH之後,會出現執行命令的便捷方法,諸如以上說的ls就是這類情況。在使用者看來,用法不同,但實質是一樣的。。

D. linux 獲取文件名的問題

basename是最常用的,除此之外,Bash中還有個用字元串處理的方法(適用於bash):
for i in /var/html/*
do
echo $i #全路徑名
echo ${i##*/} #文件名
done#表示去除從指定字元向前所有的字元;##表示最大匹配。
%表示去除從指定字元向後所有的字元;%%表示最大匹配。

E. 求助Uncompressing Linux.done,booting the kernel

內核啟動卡在Uncompressing Linux..... done, booting the kernel.這好像是個老生常談的問題了。成因在網上也羅列了很多種,可這次我碰到的,卻沒網路出解決方法,糾結了我很久才解決。
我先把造成Uncompressing Linux..... done, booting the kernel.的常見的幾種可能再羅列一下
1、機器碼不匹配
解決方法:在配置內核時開啟debug
Kernel hacking -> Kernel low-level debugging functions 是打開的
Kernel hacking -> Kernel low-level debugging messages via S3C UART 也是打開的
在Device Drivers->Character devices->Serial drivers中選擇載入Samsung SoC serial support ,然後再選上Support for console on Samsung SoC serial port 。
如果是機器碼不匹配的問題,就會出現相關列印信息例如
Machine configuration botched (nr 182), unable to continue.
核對一下你的uboot機器碼是否匹配。
如果不匹配,你可以修改uboot include/asm-arm/mach-types.h 文件中有關機器碼的定義。或者修改內核 arch/arm/tools/mach-types 文件。
在新內核移植時有關機器碼的修改步驟及分析如下:
修改機器碼,機器碼在2/arch/arm/mach-s3c2440/mach-test2440.c文件中MACHINE_START(TEST2440, "TEST2440")這一行定義的,第二個參數無所謂,重要的是第一個參數,在gcc編譯這個mach-test2440.c的時候,會把TEST2440匹配到/include/asm-arm/mach-types.h中的"#define MACH_TYPE_TEST2440 N"這里, 如果在mach-types.h中找不到MACH_TYPE_TEST2440的定義, gcc編譯mach-test2440.c則報錯;
還有,/include/asm-arm/mach-types.h是每次make zImage過程中, 由arch/arm/tools/mach-types文件生成的,
總結,修改機器碼,涉及內核代碼的三個地方,MACHINE_START宏,mach-types.h,mach-types,初啟動時,bootloader向內核傳遞一個機器碼。

2、串口配置不正確
確保在配置內核時選上了在Device Drivers->Character devices->Serial drivers中選擇載入Samsung SoC serial support ,然後再選上Support for console on Samsung SoC serial port 。
3、arch/arm/mach-s3c2440/Kconfig配置文件設置出錯,某項關鍵選項沒選上。
這個情況在網上不多見,但是一出錯就會讓人很糾結。如果晶元級或板級關鍵配置沒選上或導致內核啟動進入start_kernel函數之前就進入死循環。如果晶元級的配置沒選上,會在內核執行完cpu id號匹配函數__lookup_processor_type()後進入死循環,這種情況你無論怎麼配置內核的debug,串口都不會再有列印信息輸出了。只有點個燈之類的才能跟蹤代碼的執行。
這種情況往往在列印Uncompressing Linux..... done, booting the kernel後就無任何輸出了,即便你配置了debug。
我碰到這種情況是因為我在arch/arm/mach-s3c2440/Kconfig 上沒有select ARCH_S3C2440。
導致Uncompressing Linux..... done, booting the kernel 卡住的大致就這幾種情況。

F. 在linux中 「# for i in `ls` ; do su -sh $i ; done 」命令是什麼意思

首先 在命令前面有個 '#'的意思是本句話是注釋,並不實際執行...
再說你後面語句的意思,for ... in .... ; done是循環結構,ls是查看目錄下的文件,su是以另一個身份($i),來運行一個shell,但問題是su 沒有-sh選項,也就是說你這句話應該有問題才對.
整體分析是遍歷將當前目錄下的文件,每個文件執行su -sh XXX(這里XXX是當前目錄下的所有文件),功能尚不明確,還請樓主明示.

G. linux伺服器down了怎麼辦

Linux關閉和重啟系統一般使用相同的命令可以實現。
在Linux系統下常用在關機/重啟命令有shutdown、halt、reboot和init,但每個命令的內部工作過程是不同的。
1.shutdown命令
Shutdown命令可以安全地關閉系統,有些用戶會使用直接斷電源的方式來關閉計算機,這是十分危險的。Linux與Windows不同,其後台運行著許多進程,所以強制關機可能會導致進程的數據丟失,使系統處於不穩定的狀態,在有的系統中甚至會損壞硬體設備。
如果在系統關機前使用shutdown命令,系統管理員會通知所有登錄的用戶系統將要關閉,並且login命令會被凍結,即新的用戶不能再登錄。直接關機或者延遲一定的時間才關機都是可能的,還可能重啟。
shutdown命令可以安全地關閉或重啟Linux系統,它在系統關閉之前給系統上的所有登錄用戶提示一條警告信息。該命令還允許用戶指定一個時間參數,此參數可以是一個精確的時間,也可以是從現在開始的一個時間段。精確時間的格式是hh:mm,表示小時和分鍾,時間段由「+」和分鍾數表示。系統執行該命令後,會自動進行數據同步的工作。
(1)語法
shutdown [選項] [時間] [警告信息]
(2)選項說明
-k:並不真正關機,只是發出警告信息給所有用戶
-r:關機後立即重新啟動
-h:關機後不重新啟動
-f:快速關機,重啟動時跳過fsck
-n:快速關機,不經過init程序
-c:取消一個已經運行的shutdown[-time]:設定關機前的時間
(3)例:立即關閉系統
#shutdown –h now
(4)例:定時45min後關閉系統
#shutdown –h 45
(5)例:重新啟動系統,並發出警告信息
#shutdown –r now「system will be reboot now!」
2.halt命令
其實halt命令就是調用「shutdown-h」命令執行的。
(1)語法
halt [選項]
(2)選項說明
-c:防止sync系統調用,它用在fsck修補根分區之後,以阻止內核用老版本的超級塊覆蓋修補過的超級塊
-w:並不是真正的重啟或關機,只是寫wtmp(/var/log/wtmp)記錄
-d:不寫wtmp記錄(已包含在選項[-n]中)
-f:沒有調用shutdown而強制關機或重啟-I:關機(或重啟)前,關掉所有的網路介面
-p:
該選項為預設選項,即關機時調用poweroff
(3)例:使用halt命令關機
#halt
Broadcast message from root(pts/4)….
The system is going down for system halt now!
3.reboot命令
Reboot的工作過程與halt相似,不過reboot是引發主機重啟,而halt是引發主機關機。它的參數與halt相似。
(1)例:使用reboot命令重啟計算機
#reboot
Broadcast message from root(pts/4)….
The system is going down for system reboot now!
4.init命令
Init是所有進程的祖先,它的進程號始終為1,所以發送TREM信號給init會終止所有的用戶進程和守護進程等。shutdown就是使用這種機制。init定義了7個運行級別,其中init0為關機,init為重啟。

熱點內容
安卓手機用什麼軟體傳軟體到蘋果 發布:2024-10-09 09:11:02 瀏覽:367
蘋果安卓怎麼傳抖音 發布:2024-10-09 09:10:18 瀏覽:822
連接電視路由器如何設置密碼 發布:2024-10-09 09:10:16 瀏覽:781
c語言取模與取余 發布:2024-10-09 08:52:51 瀏覽:267
安卓怎麼像蘋果一樣滑動返回 發布:2024-10-09 08:20:46 瀏覽:758
gp資料庫行 發布:2024-10-09 08:10:37 瀏覽:417
會計公需課登錄密碼是什麼 發布:2024-10-09 08:08:20 瀏覽:800
wps怎麼怎麼加密碼忘了怎麼辦 發布:2024-10-09 07:54:30 瀏覽:992
埋堆堆怎樣更改緩存路徑 發布:2024-10-09 07:48:12 瀏覽:550
壹號本1s加存儲 發布:2024-10-09 07:43:51 瀏覽:546