복습 포인트
1、 20 ,10
2、 10 ,5
3、 20 ,5
4、 20 ,2
5、shell 30 ,3
중점
호스트 계획 및 디스크 파 티 션
리 눅 스에 있 는 하드웨어 장치 별 파일 이름 p66
디스크 파 티 션: 교과서 예제 p67
디스크 파 티 션 테이블 예제 p70
디스크 파 티 션 선택 p75
제6 장 Linux 의 파일 권한 과 디 렉 터 리 설정
파일 이름 은 디 렉 터 리, 소유자 권한, 같은 사용자 그룹 사용자 권한, 다른 사용자 권한 입 니 다.
linux 파일 속성, 예제.파일 속성 과 권한 을 어떻게 바 꿉 니까?142 chmod 644 basic 146
예 제 를 자세히 보면 원제 가 있다.
루트 디 렉 터 리 의 이전 층 과 루트 디 렉 터 리 는 자신 이 같은 디 렉 터 리 입 니 다.
제7 장 Linux 파일 과 디 렉 터 리
디 렉 터 리 와 경로, 디 렉 터 리 의 조작, 파일 디 렉 터 리 관리, 예 제 를 봅 니 다.171
파일 디 렉 터 리 의 권한 과 숨겨 진 권한.문제 가 있 는데, 주로 예제 이다.180,181,182
상황 시 뮬 레이 션 문제:
: , alex arod , project 。 /srv/ahome/ , 。 ? , SGID 。
• : , SGID !
• : , !
• : root chmod, chgrp ! !
, / , :
[root@www ~]# groupadd project <==
[root@www ~]# useradd -G project alex <== alex , project
[root@www ~]# useradd -G project arod <== arod , project
[root@www ~]# id alex <== alex
uid=501(alex) gid=502(alex) groups=502(alex),501(project) <== !
[root@www ~]# id arod
uid=502(arod) gid=503(arod) groups=503(arod),501(project)
!
1. :
[root@www ~]# mkdir /srv/ahome
[root@www ~]# ll -d /srv/ahome
drwxr-xr-x 2 root root 4096 Sep 29 22:36 /srv/ahome
2. alex arod , 。 , project, 770 。
[root@www ~]# chgrp project /srv/ahome
[root@www ~]# chmod 770 /srv/ahome
[root@www ~]# ll -d /srv/ahome
drwxrwx--- 2 root project 4096 Sep 29 22:36 /srv/ahome
# , alex/arod project, !
3. , ? alex , arod 。
[root@www ~]# su - alex <== alex
[alex@www ~]$ cd /srv/ahome <==
[alex@www ahome]$ touch abcd <== !
[alex@www ahome]$ exit <== alex
[root@www ~]# su - arod
[arod@www ~]$ cd /srv/ahome
[arod@www ahome]$ ll abcd
-rw-rw-r-- 1 alex alex 0 Sep 29 22:46 abcd
# , alex ,arod !
# abcd , arod , r !
[arod@www ahome]$ exit
, rwx , alex abcd , arod , ! ! 。
4. SGID , :
[root@www ~]# chmod 2770 /srv/ahome
[root@www ~]# ll -d /srv/ahome
drwxrws--- 2 root project 4096 Sep 29 22:46 /srv/ahome
: alex , :
[root@www ~]# su - alex
[alex@www ~]$ cd /srv/ahome
[alex@www ahome]$ touch 1234
[alex@www ahome]$ ll 1234
-rw-rw-r-- 1 alex project 0 Sep 29 22:53 1234
# ! ! alex, arod project,
# , umask 002, !
, 『2770』, root , project !
간단 한 문제 풀이:
사용자 의 umask 가 각각 033 과 044 로 만 든 파일 과 디 렉 터 리 의 권한 은 무엇 입 니까?
umask 033 , group other w(2)x(1) , 『 -rw-r--r-- , drwxr--r-- 』 umask 044 , r , 『 -rw--w--w-, drwx-wx-wx』
/etc 아래 파일 크기 가 50K 에서 60K 사이 인 파일 을 찾 고 권한 을 완전 하 게 표시 합 니 다 (ls - l):
find /etc -size +50k -a -size -60k -exec ls -l {} \;
/etc 아래 파일 용량 이 50K 이상 이 고 파일 소속 자 는 루트 의 파일 이름 이 아니 며 권한 을 완전 하 게 표시 합 니 다 (ls - l).
find /etc -size +50k -a ! -user root -exec ls -ld {} \;
find /etc -size +50k -a ! -user root -type f -exec ls -l {} \;
/etc 아래 1500 K 이상 의 용량 과 0 이상 의 파일 을 찾 습 니 다.
find /etc -size +1500k -o -size 0
-a , -o (or) !
제 8 장
디스크 및 파일 시스템 관리
Linux 의 Ext 2 파일 시스템 200
마 운 트 지점 의 의미
파일 시스템 의 간단 한 조작\# fdisk/dev/hdc
디스크 파 티 션, 포맷, 검사 및 마 운 트
디스크 마 운 트 및 마 운 트 해제
본 장 방과 후 연습 상황 1 과 상황 2 시험 중 하나
• : , partition , partition , 。
◦ : ;
◦ : , /dev/hdc6, /dev/hdc7 ;
◦ : fdisk, umount, swapoff 。
, /dev/hdc6 /dev/hdc7 partition , partition 。 :
1. free / swapon -s / mount , /dev/hdc6, /dev/hdc7 ! , umount 。 , swapon -s , swapoff !
2. /etc/fstab , partition;
3. 『 fdisk /dev/hdc 』 , , , 5 , 6 ! 7 6 , 6 ! , 7 , 6 。
• : , filesystem /srv/myproject 。 filesystem , filesystem /srv/myproject , project , 。 filesystem 5GB 。
◦ : 、 ;
◦ : ;
◦ : !
!
1. , fdisk /dev/hdc partition , partition , /dev/hdc6 :『fdisk / dev/hdc』, 『 n 』, 『Enter』 , 『+5000M』 5GB , 『p 』 , 『w』 ;
2. , 『 partprobe 』 ; :『 end_request: I/O error dev fd0, sector 0 』 , ! 『 』, , 。
3. , :『mkfs -t ext3 /dev/hdc6』, OK !
4. , :『 mkdir /srv/myproject 』 ;
5. :『 nano /etc/fstab 』, , :
/dev/hdc6 /srv/myproject ext3 defaults 1 2
6. :『 mount -a 』, 『 df 』 !
7. , :『 chgrp project /srv/myproject 』 『 chmod 2770 /srv/myproject 』 。
수업 후 간단 한 문제 풀이:
호스트 디스크 의 용량 이 부족 하기 때문에 새 디스크 를 추가 하고 이 디스크 를 모두 단일 분할 슬롯 으로 나 누고 이 분할 슬롯 을/홈 디 렉 터 리 에 마 운 트 하려 면 어떻게 해 야 합 니까?
、 、 、 。
◦ : Linux , IDE , (jump) , , ;
◦ : , , /dev/sdb1 ;
◦ : mkfs -t ext3 ;
◦ : /home , mount /dev/sdb1 /mnt , /home /mnt/ , :『 cp -a /home/* / mnt 』 。 /home /mnt
◦ : /etc/fstab , /home filesystem /dev/sdb1 , mount -a , , 。
제 가 두 개의 파일 이 있 는데 각각 file 1 과 file 2 입 니 다. 이 두 파일 은 서로 hard link 의 파일 입 니 다. 만약 에 제 가 file 1 을 삭제 한 다음 에 vi 와 유사 한 방식 으로 file 1 이라는 파일 을 다시 만 들 면 file 2 의 내용 이 바 뀌 지 않 습 니까?
。 file1 , file2 , inode block , , file1 , inode block filesystem meta data , inode block , file1 ! , file1 file2 !
제 9 장
파일 의 압축 과 포장 을 연습 하고,
상황: 2, 3
• : /srv/myproject , , dump /backups 。 ?
◦ : dump level ;
◦ : partition , /srv/myproject
◦ :/srv/myproject filesystem , /etc/fstab dump 1
! :
1. , !
cp -a /etc /boot /srv/myproject
2. dump , , level 0 !
mkdir /backups
dump -0u -j -f /backups/myproject.dump /srv/myproject
-j , , 。
3. /srv/myproject , /var/log/ !
cp -a /var/log/ /srv/myproject
/srv/myproject ! !
4. /srv/myproject level 1 :
dump -1u -j -f /backups/myproject.dump.1 /srv/myproject
ls -l /backups
, (myproject.dump.1) ! !
• : , /srv/myproject , filesystem , ? :
1. /srv/myproject , partition !
umount /dev/hdc6
mkfs -t ext3 /dev/hdc6
2. partition , !
mount -a
df ls -l /srv/myproject , !
3. level 0 /backups/myproject.dump :
cd /srv/myproject
restore -r -f /backups/myproject.dump
! !
4. level 1 :
cd /srv/myproject
restore -r -f /backups/myproject.dump.1
! level 2, level 3 , !
제 10 장
vi 조작 부분 은 조작 을 간단하게 보면 된다.
제 11 장
변수의 표시 와 설정 변수 내용 의 삭제, 대체 와 교체 데이터 흐름 재 설정 명령 실행 에 대한 판단 근거:, &, |파이프 명령
간단 한 문제 풀이:
어떻게 변수 이름 을 name 내용 인 It 's my name 으로 설정 합 니까?
name=It\'s\ my\ name name="It's my name"
•bash ? ?
(1)login shell: /etc/profile ~/.bash_profile
(2)non-logni shell: ~/.bashrc 。
•CentOS 5.x man page ?
/etc/man.config
',', '이 기호 들 이 변수 정의 에서 의 용 도 를 시험 적 으로 설명 합 니까?
, , " ,' , ` 。
연속 명령 중,;, &, | 은 어떤 차이 가 있 습 니까?
command , command1 , && , 0 command2 , || && !
foo 1 & & foo 2 | foo 3 > foo 4, 이 명령 문자열 에서 foo 1/foo 2/foo 3/foo 4 는 명령 입 니까? 파일 입 니까? 전체 명령 의 의 미 는?
foo1, foo2 foo3 , foo4 。 :
(1) foo1 , ;
(2) foo1 , foo2 | foo3 > foo4 ; :
(2-1)foo2 stdout foo3 ;
(2-2)foo3 foo2 stdout stdin , foo4 /
제1 2 장 정규 표현 식 과 파일 포맷 처리
grep 사용
sed 도구: 시험 은 이 절의 예제 입 니 다.
awk 도구 사용
상황 연습 1, 2.
• : grep , 。
◦ : ;
◦ : , $(command) ;
(*) :
1. , , /etc (*) :
, , : [root@www ~]# grep '\*' /etc/*
, , , (\)。 /etc/* * bash ! ! , /etc , , /etc , : [root@ www ~]# grep '\*' $(find /etc -type f)
2. ? , (/) ? : [root@www ~]# grep '\*' $(find / -type f)
-bash: /bin/grep: Argument list too long
! , , 。 ? xargs 。 , grep 10 , :
a. find ;
b. xargs 10 grep ;
c.grep 。
: [root@www ~]# find / -type f | xargs -n 10 grep '\*'
3. , ! ? grep ! [root@www ~]# find / -type f | xargs -n 10 grep -l '\*'
• : 。 myip , IP 。 , MYIP , IP 。
, :
1. , ifconfig, sed awk IP , :
[root@www ~]# ifconfig eth0 | grep 'inet addr' | \
> sed 's/^.*inet addr://g'| cut -d ' ' -f1
2. , alias myip ! : [root@www ~]# alias myip="ifconfig eth0 | grep 'inet addr' | \
> sed 's/^.*inet addr://g'| cut -d ' ' -f1 "
3. , MYIP ! [root@www ~]# MYIP=$( myip )
4. , alias MYIP , ~/.bashrc !
제1 3 장 셸 script
1. 방과 후 숙제 문제 2. 스 크 립 트 에 파 라 메 터 를 전달 하 는 컴퓨터 문제.
1. script 을 만 드 십시오. 이 script 을 실행 할 때 이 script 은 1. 현재 신분 (whoami 로) 2. 현재 있 는 디 렉 터 리 (pwd 로) 를 표시 할 수 있 습 니 다.
#!/bin/bash
echo -e "Your name is ==> `whoami`"
echo -e "The current directory is ==> `pwd`"
2. 스스로 프로그램 을 만들어 보 세 요. 이 프로그램 은 '생일 이 며칠 남 았 습 니까?' 라 고 계산 할 수 있 습 니 다.
#!/bin/bash
read -p "Pleas input your birthday (MMDD, ex> 0709): " bir
now=`date +%m%d`
if [ "$bir" == "$now" ]; then
echo "Happy Birthday to you!!!"
elif [ "$bir" -gt "$now" ]; then
year=`date +%Y`
total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))
echo "Your birthday will be $total_d later"
else
year=$((`date +%Y`+1))
total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))
echo "Your birthday will be $total_d later"
fi
3. 사용자 에 게 숫자 를 입력 하 게 합 니 다. 프로그램 은 1 + 2 + 3... 사용자 가 입력 한 숫자 까지 누적 할 수 있 습 니 다.
#!/bin/bash
read -p "Please input an integer number: " number
i=0
s=0
while [ "$i" != "$number" ]
do
i=$(($i+1))
s=$(($s+$i))
done
echo "the result of '1+2+3+...$number' is ==> $s"
4. 프로그램 을 작성 합 니 다. 그의 역할 은 다음 과 같 습 니 다. 1.) 먼저/root/test/logical 이라는 이름 이 존재 하 는 지 확인 합 니 다. 2. 존재 하지 않 으 면 파일 을 만 들 고 touch 로 만 들 고 완성 한 후에 떠 납 니 다. 3. 존재 한다 면 이 이름 이 문서 인지 판단 하고 파일 이 라면 삭제 한 후에 디 렉 터 리 를 만 듭 니 다. 파일 이름 은 logical 이 고 나중에 떠 납 니 다. 4.) 존재 한다 면이 디 렉 터 리 이름 이 디 렉 터 리 라면 이 디 렉 터 리 를 삭제 합 니 다!
#!/bin/bash
if [ ! -e logical ]; then
touch logical
echo "Just make a file logical"
exit 1
elif [ -e logical ] && [ -f logical ]; then rm logical
mkdir logical
echo "remove file ==> logical"
echo "and make directory logical"
exit 1
elif [ -e logical ] && [ -d logical ]; then rm -rf logical
echo "remove directory ==> logical"
exit 1
else
echo "Does here have anything?"
fi
5. 알 고 있 습 니 다./etc/passwd 에 서 는 다음 과 같이 구분 합 니 다. 첫 번 째 칸 은 계 정 이름 입 니 다./etc/passwd 의 첫 번 째 칸 을 꺼 낼 수 있 는 프로그램 을 쓰 십시오. 그리고 각 칸 은 한 줄 의 문자열 인 "The 1 account is"root "로 표시 합 니 다. 그 1 은 줄 수 를 표시 합 니 다.
#!/bin/bash
accounts=`cat /etc/passwd | cut -d':' -f1`
for account in $accounts
do
declare -i i=$i+1
echo "The $i account is \"$account\" "
done
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.