whoami
: To identify the current user.
who
: To list the currently logged-on users.
uid
: All users has a unique user ID.gid
: Linux uses groupf for organizing user. A group has a unique group ID.user
와 group
에 관련된 정보들은 /etc/passwd
and /etc/group
에서 찾을 수 있다./etc/passwd
:/etc/group
: useradd
(모든 Linux에서 사용가능) or adduser
(Debian 계열 배포판에서만 사용가능) :
id
: gives information about a user
seop이라는 user는 "seop", "adm", ... "sudo", 등 여러 group에 자동적으로 속해 있다.
또한 "sudo" group에 속해있기 때문에 권한이 요구되는 Job들을 수행할 수 있다.
(sudo apt-get install ... 등)
만약 user1을 sudo user로 만들고 싶으면?
기존 user1은 sudo group에 추가되어 있지 않기 때문에 super user 권한을 얻을 수 없어서
user1_1이라는 새로운 User를 adding하는 것이 deny되었다.user1을 sudo group에 추가해준다면 해결될 것이다.
userdel
(모든 Linux에서 사용가능) or deluser
(Debian 계열 배포판에서만 사용가능) :groupadd
or addgroup
:
groupdel
or delgroup
:
root
:
The root account is very powerful and has full access to the system.
In Unbuntu, root account is diabled for security reason
sudo
:
sudo gives temporary superuser privileges
➡️ root account는 system에 대한 full access가 있기 때문에 매우 강력하면서 위험하다.
(해킹이나 보안에 취약점이 있기도 하고, 실수로 중요한 파일들을 삭제할 수 있다)
그래서 Ubuntu에서 root 계정이 없는 대신 sudo command로 root의 권한을 일시적으로 부여할 수 있다.
Environment Variables
:echo
: 특정 환경변수를 보고 싶을 때, (환경변수이름) 앞에 $를 붙여서 echo로 확인한다.
export
: 새로운 환경변수를 만들고 싶을 때
방법 1 : export (만들 환경변수이름)=value
방법 2 : (만들 환경변수이름) = value; export (만들 환경변수이름)
방법 3 : ':'(column)을 이용하여 기존 환경변수를 수정하는 방법
~/.bashrc
:Edit ~/.bashrc
) and (source ~/.bashrc
or ./bashrc
)~/.bashrc
: defines aliases
(별명) and environment variables.alias
: 매우 긴 명령어를 ~/.basrc file에 미리 축약해놓은 작은 명령어로 대신하여 사용chown
: change user ownership of a file or directorychgrp
: change group ownership of a file or directorychmod
: Permission can be set separately for owner, group, and otherExample
: Example
: user1이 file을 실행하는 것을 막기. = executeQuiz >
User, Group, Others 모두에게 실행권한을 주는 명령어를 별칭으로 생성한 후 아무 파일이나 만든 별칭을 사용해 실행권한을 추가하시오.
sed
: Stream Editor = sed is used to modify the contents of a file or input streamawk
: awk extracts and prints specific contents of a file sort
: sortinggrep
: Scans files for specific patterns; regular expression can be used.tee
: tee takes output from any command, and send it to both a file and to standard output.wc
: word count. (line, word, byte)sed s/pattern/replace_string/ file
: substitute first string occurence in every line
sed s/pattern/replace_string/g file
: substitute all string occurences in every line
sed 1,3s/pattern/replace_string/g file
: Substitute all string occurence in a range of lines
sed -i s/pattern/replace_string/g file
: Save changes for string substitution in the same file
Quiz > ls_man.txt 파일에세 모든 ls를 대문자 LS로 변경하여 LS_man.txt로 저장하시오. (출력은 상위 10줄)
awk '{ print $0 }' file
: print entire file ($0 : 파일 전체)
awk -F: '{ print $1 }' file
: print first field of every line, separted by a space
➡️ ':'을 기준으로 분리했을 때, 첫번째 field
awk -F: '{ print $1 $7 }' file
: print first and seventh field of every line
➡️ ':'을 기준으로 분리했을 때, 첫번째 field와 일곱번째 field
(/pattern/ 을 줘서 해당하는 line들만 출력하도록 할 수도 있다)
sort file
: sort the lines in the specified file
cat file1 file2 | sort
: combined the two files, then sort the lines
sort -r file
: sort the lines in reverse order
sort -k 3 file
: sort the lines by the 3rd field on each linegrep [pattern] <file>
: search for a pattern in a filegrep -v [pattern] <file>
: print al lines that do not match the pattern
grep [0-9] <file>
: print the lines that contain the number 0-9
grep -C 3 [pattern] <file>
: pattern을 만족하는 line 기준 위, 아래 3줄. 총 7줄 출력.
tee
: takes output from any command, and send it to both standard output, and to a fileConsider sentence : "The quick brown fox jumped over the lazy dog"
.
: match any single charactera | z
: match a or z$
: match end of string^
: match beginning of string*
: match preceding item 0 or more times/etc 디렉터리 밑에 있는 일반 파일 개수 세기 :
현재 디렉터리에 있는 모든 ".txt" file들의 접근 권한 변경하기
myhello 실행파일이 있는 디렉터리를 환경변수로 설정하여 ls처럼 사용하기
일시적인 환경변수 설정이 아닌 system을 재부팅했을 때도 계속해서 환경변수로 남게 만들기
(이제 system 재부팅 후 다시 시도해도 될 것이다)