코딩걸음마
ubuntu 명령어 본문
touch 파일 만들기
touch 파일명 일반 파일생성
touch .파일명 숨김파일 생성
ls (list)파일 리스트 확인
ls 파일보기
ls -a 전부보기 (all)
ls -l 폴더 내 내용물 개수 확인 (long)
ls -al 내용물 수 + 폴더 내 파일 확인 (all + long)
ls -il 물리적으로 같은 파일인지 확인
ls -ali 파일링크 확인
ls *.txt 확장자가 *.txt인것
cat (concatenate)
cat 파일명 txt, py 형식의 파일 출력
cat -e 줄의 맨 뒤에 $붙이기(히든 캐릭터 tab,공백 등 확인)
cat -n 줄번호 보여주기 옵션
more page 단위로 파일 내용보기(space)
more 파일명 -단점 앞으로만 확인가능
less page 단위로 파일 내용보기(space) 줄단위(enter) 상하좌우(방향키) -more보다 빠름
less 파일명
echo (CLI 내 텍스트 화면출력)
echo "텍스트" > 파일명 출력된 내용을 해당 파일로 보내기(txt확장자 같은 저장형 파일 유형)
파일이 없다면 생성하여 넣음
rm (remove)파일 삭제
rm 파일명
rmdir (remove directory) 디렉토리(dir)삭제 dir내 파일이 있는경우 제거되지 않음
rmdir dir명
rm -r dir (recursive하게 따라가서 모두 제거, dir 내 파일이 있어도 강제 제거)
mkdir(make directory)
mkdir dir명
mkdir dir명/dir2명
cd (change directory) dir로 들어가기
. 나 자신 directory
.. 부모 directory
~ home directory
- 이전 directory
cd dir명 directory 진입
cd . 현재 directory
cd .. 상위 directory로
cd - 이전 directory로
cd ~/ home directory로
cp (copy) 복사하기 파일만 복사가능 dir은 불가능
cp 파일명1 파일명2 파일명1을 파일명2로 복사함 (덮어쓰기 물어보지 않음)
cp -r dir1명 dir2명 dir를 복사해야하는 경우
mv (move) 이동하기 (+이름바꾸기)
mv dir2명 dir1명 dir2이름을 dir1로
mv 파일명2 파일명1 파일2이름을 파일1이름으로
ln (link) 바로가기 만들기
ln -s 파일명1 바로가기명 soft link 파일의 바로가기를 만듬 (-s == symbol) 용량을 적게 차지함
ln 파일명1 파일명2 hard link 파일1을 파일2 로 복사 (동기화된 파일)
로그 확인
sudo tail -F /var/log/auth.log
chmod 750 . 현재폴더 권한 변경
chmod 700 파일명 파일 권한 변경
확장자 한번에 변경하기
ren *.txt *.docx
ren *문서(?) *문서-?.*
clear
터미널 내용 지우기
inode 설명
시스템 종료
다음 코드들은 재확인을 거치지 않고 바로실행함
reboot (재부팅)
poweroff (종료)
shutdown [option] 시간x x분후
option
shutdown -P now 즉시 종료
shutdown -r now 즉시 재부팅
shutdown -c 종료명령 취소
메뉴얼 불러오기
man man
시스템 호출
man printf
C표준 라이브러리 함수 호출
man 3 printf
사용자 계정 - 권한 조사
whoami
id
사용자 계정 - 권한의 대여
sudo (super user do)
사용자 계정 - 권한의 대여 - sudoer
sudo visudo
사용자를 sudo 권한에 추가
useradd -aG user1(유저명) sudo (Ubuntu)
useradd -aG user1(유저명) wheel (아마존 AMI)
사용자 권한의 대여
su user1(유저명) 마치 user1로 접속한것처럼 접속 가능 pw입력 필요 (로그인과는 차이가 있음)
su root 루트사용자의 권한 대여 (사용 권장 X)
사용자 계정과 그룹계정 확인
cat/etc/passwd (패스워드 확인이 아님)
사용자 계정 암호확인
cat/etc/shadow
root:!:18456:0:99999:7::: ※ ! 잠긴계정이라는 뜻
사용자명:패스워드:최종수정일:패스워드 최소변경일:패스워드 최대사용일: 패스워드 만료 경고기간: 패스워드 유예기간: 계정만료기간: 예약필드
사용자 추가
adduser
sudo adduser user2
암호변경
change user1(유저명) 암호만 확인
change -l user1(유저명) 암호정책확인
사용자 삭제
deluser user1(유저명)
그룹 생성
addgroup [option] group
group add
그룹계정/사용자 할당
usermod [option] user1(유저명) 기본구조
usermod -c "new_name" user1(유저명) 유저명 바꾸기
usermod -a -G sudo user1(유저명) 유저를 sudo그룹에 추가
adduser user1(유저명) sudo 유저를 sudo그룹에 추가
deluser user1(유저명) sudo 유저를 sudo그룹에 제거
파일의 권한
읽기 권한 4
쓰기 권한 2
실행 권한 1
5 = 읽기 + 실행
6 = 읽기 + 쓰기
파일의 생성 권한
파일권한 666 rw-rw-rw
디렉토리 권한 777 rwxrwxrwx
권한 변경 chmod (change mode)
chmod [option] [mode] file
chmod 777 hello.txt 숫자값을 통한 user/group/other에 rwe권한 부여
chmod 600 hello.txt 숫자값을 통한 user에 rw권한 부여
{u , g, o} {+ -} {w r x} 조합으로 명령 u 유저 g 그룹 o other +추가 - 제거 w 쓰기 r 읽기 x 실행
chmod u+x hello.txt user에게 실행권한 추가 +w +r
chmod u-x hello.txt user에게 실행권한 삭제 -w -r
파일의 특수 실행 권한
chmod u+s filename
chmod +t directoryname