目錄
第一次上機:
第二次上機:
第三次上機:
第四次上機:
第一次上機:
1,查看當前在線用戶,以及作業目錄,
w #查看當前在線用戶 pwd #查看作業目錄2,使用命令date顯示當前的時間和日期;將現在日期按照格式:時:分:秒 年-月-日顯示,(并將顯示結果存入/home/shouyi/a檔案中,并查看檔案內容,)
date +'%H:%M:%S %y/%m/%d' #以時:分:秒 年-月-日顯示當前時間, date +'%H:%M:%S %y/%m/%d' > /home/a.txt #將顯示結果存入/home/a.txt檔案中, head -v /home/a.tet #查看檔案內容3,使用echo命令顯示“hello linux”,(并將顯示結果存入home/shouyi/b檔案中,并查看檔案內容,)
echo hello wold #顯示hello wold echo hello wold >b.txt #將hello wold放入b.txt head -v b.txt #查看b.txt4、使用命令切換到/etc目錄,并顯示當前作業目錄路徑,
cd /etc #進入路徑 pwd #顯示路徑5,使用命令顯示/root目錄下所有檔案目錄的詳細資訊,包括隱藏檔案,查看檔案型別,
ls -a -all #查看所有檔案6,使用命令在用戶主目錄(/home/shouyi下)創建一個目錄,目錄名為各自0的學號,在此目錄下創建空檔案ab,內容是當前的日期資訊,
cd home/shouyi #進入路徑 mkdir 20191101666 #創建學號目錄 cd 20191101666 #進入學號目錄 date >ab #將時間放入ab檔案,沒有則創建7、將檔案/etc/host.conf檔案復制到目錄/home/shouyi學號中,
cp etc/host.conf /home/shouyi/20191101666 #進行復制8、將目錄中的檔案host.conf更名為test,
mv host.conf test #將名字修改為test9、統計檔案/home/shouyi/學號/test 的行數、字符數和單詞數,
wc -lwc test #顯示行數字符數單詞書10、使用命令對創建符號鏈接檔案/home/linka ,鏈接物件是/home/shouyi學號目錄下的檔案test,
ln -s /home/linka /home/sn/20191101666 #創建符合鏈接11、將該目錄及其目錄下的檔案一起洗掉,
cd /home #進入要洗掉檔案的路徑 rm -rf 20191101666 #洗掉20191101666
第二次上機:
1,以root用戶登錄到家目錄,(后續操作均在root的家目錄進行)
sudo passwd #修改密碼進入 su #進入管理員權限 cd /root #進入root2,以學號創建檔案夾,及學號/logs
mkdir 20191101666 #創建學號目錄 cd 20191101666 #進入目錄 mkdir logs #創建logs3, 查找/var/log下所有log檔案,并復制到上一步創建的logs目錄
ls –a /var/log #查看路徑下內容 cp –r /var/log /logs #復制4,統計logs目錄下檔案的數量,并把統計結果保存到學號/logscount檔案中
ls -l ./ |grep "^-"| wc –l #查看當前檔案數量 ls -l ./ |grep "^-"| wc –l >home/20191101666 #將數量放入學號檔案夾5, 將當前系統時間以“當前系統時間:xx:xx:xx”的形式追加到logscount 檔案中
date +"present_time:%H:%M:%S" >>logscount6, 將logs目錄打包為logs.tar.gz
tar zcvf log.tar.gz logs #將logs目錄打包為logs.tar.gz7, 將logs.tar.gz解包到學號/logs_bak目錄
tar zxvf /home/shouyi/Desktop/20191101666/log.tar.gz -C /home/shouyi/Desktop/20191101666/logs_bak #(絕對路徑)8, 在學號下創建vi目錄
mkdir vi #在學號下創建vi目錄9, 在vi目錄創建檔案abc.c程式,輸入內容見下圖,并完成以下操作:
:set nu #(1)顯示行號10,將學號目錄及其目錄下的檔案一起洗掉,
rm -r 20191101666 #洗掉學號檔案夾
第三次上機:
1,使用vi建立一個腳本,腳本包括date、pwd、cal、ls 等命令,使用不同的方式執行該腳本,
首先獲取權限
sudo passwd #修改密碼 su #獲取權限 vi test.sh #建立腳本檔案進入文本后輸入
#!bin/bash
echo “date”
date +”%F %T”
echo “pwd”
cal
echo “cal”
cal
echo “ls”
ls -alba
然后退出,在輸入
chmod +x test.sh #添加執行權限 bash <test.sh #執行腳本2,除錯腳本:P121例4.11、P123例4.12、P129例4.16
代碼分析部分
代碼1
#if user has logged in the system #then, copy a file to his or her file #else,display an error information echo "Type in the user name ." #輸出文字Type in the user name read user #讀取user的資訊 if #如果 grep $user /etc/passwd > /tmp/null #字符匹配user,存在把/etc/passwd放入/tmp/null who | grep $user #顯示匹配的user then #然后 echo "$user has not logged in the system." #輸出陳述句user has not logged in the system cp /tmp/null tmp1 #復制/tmp/null到tmp1 rm /tmp/null #洗掉/tmp/null else #否則 echo "$user has not logged in the system." #輸出user has not logged in the system fi #結束代碼2
#!/bin/bash echo -n "keyin a number(1-10): " read a #讀取a if #如果 [ $a -lt 1 -o $a -gt 10 ] #a小于1或者大于10 then echo "Erroe Number." #輸出Erroe Number exit 2 elif [ ! $a -lt 5 ] #如果a不小于5 then #則 echo "It's no less 5." #輸出It's no less 5 else #否則 echo "It's less 5." #輸出It's less 5 fi #結束 echo "accept key in value . " #輸出accept key in value代碼3
#/bin/bash #告訴系統這是腳本 for((i=1;i<=10;i++)) #外回圈10次 do #執行 for ((j=1;j<=i;j++)) #內回圈執行j次,j依次加一 do #執行 echo –n “*” #輸出* done #內回圈結束 echo ‘’ #輸出 done #結束 echo”end” #輸出end
第四次上機:
1,使用vi建立一個腳本,實作用戶的批量創建,要求:用戶名為stu_序號,序號為1~100,并為每個用戶設定密碼為123456.
#!/bin/bash #腳本中的內容 echo create account v1 #輸出創建account prefix=stu_ #將prefix賦值為stu_ for((i=1;i<100;i++)) #回圈100次 do #執行 account_name=${prefix}${i} #將賬號設名為stu_i echo add user $account_name #創建設定的賬戶 #user$account_name -p 123456 #為賬號加密碼為123456 done #結束在加權限,運行,
chmod +x jb.sh #加權限 bash jb.sh #運行腳本2,運行腳本程式
先創建C語言程式
vim m1.c在其中輸入
#include <unistd.h> #頭檔案 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <stdio.h> int main(int argc,char **argv){ #主函式,傳入一個整數變數argc一個指標變數argy int i,fd,fd2,nbyte3; #定義整形變數 char buf[10]; #定義字符陣列變數 if(argc<3){ #如果argc小于3 fprintf(stderr,"usage:%s origin destination\n",argv[0]); #向檔案中寫入argv[0]的資料 return 1; } if((fd=open(argv[1],O_RDONLY,0644))<0){ #如果打開argv[1]值小于0等于沒有取到資料 fprintf(stderr,"cannot open %s for reading\n",argv[1]); #向檔案中寫入無法讀取argv[1]中的數值 exit(EXIT_FAILURE); #退出檔案流操作 } if((fd2=open(argv[2],O_WRONLY))<0){ #如果打開argv[2]值小于0等于沒有取到資料 fprintf(stderr,"cannot open %s for writing\n",argv[2]);#向檔案中寫入無法讀取argv[2]中的數值 exit(EXIT_FAILURE); #退出檔案流操作 } while((nbyte3=read(fd2,buf,10))>0){ #如果(以buf形式讀取fd2,10位元組大小賦值給nbyte3)>0回圈執行 if(write(fd2,buf,nbyte3)<0){ #如果(以buf形式讀取nbyte3,10位元組大小賦值給fd2)>0回圈執行 fprintf(stderr,"%s writing error!\n",argv[2]); #向檔案寫入argv[2]中寫入錯誤 exit(EXIT_FAILURE); #退出 } for(i=0;i<10;i++) #回圈給字串加"\0" buf[i]='\0'; } close(fd); #關閉檔案fd close(fd2); #關閉檔案fd2 system("echo "); #輸出echo system("echo show_this_list--'pwd'--content"); #輸出echo show_this_list--'pwd(作業路徑)'--content system("ls "); #輸出ls(現有檔案) exit(EXIT_SUCCESS); #退出程式 }在創建腳本
vim sb腳本中輸入
#!/bin/bash echo "今天是`date`" if (($#!=2)); then echo "exam7-8的用法:exam7-8 檔案1 檔案2" exit 1 elif [ ! -f $1 -o ! -f $2 ]; then echo "輸入檔案名有誤!" exit 2 else #呼叫c程式 rdwr ./rdwr $1 $2 fi echo "下面是檔案2--$2--的內容" cat $2再用腳本執行C語言程式
bash sb jb.sh
基礎知識往這走Liunx操作指令大全
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/353615.html
標籤:其他
