Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux command line #13

Closed
headwindz opened this issue Jul 17, 2018 · 0 comments
Closed

Linux command line #13

headwindz opened this issue Jul 17, 2018 · 0 comments

Comments

@headwindz
Copy link
Owner

headwindz commented Jul 17, 2018

Preface

I would be fooling myself if I claim to be proficient in Linux command line. So I took the Linux Command Line video course to enhance my knowledge in the area.

ls: list directory content

Userful Options:

Option Meaning
-l use a long listing format
-a do not ignore entries starting with .
-h with -l, print sizes in human readable format (e.g. 1K 234M 2G)

whatis: displays short manual page descriptions

whatis cp

// output:
cp(1) - copy files

file: find the type of a file

file README.md

// output:
README.md: ASCII text

head: output the first part of file

Userful Options:

Option Meaning
-n specify the number of first lines to print

tail: output the last part of file

Userful Options:

Option Meaning
-n specify the number of last lines to print
-f loop forever, checking for new data at the end of the file(s)

wildcard: a symbol used to replace or represent one or more characters.

wildcard Meaning
* The asterisk in a wildcard matches any character zero or more times
? A question mark matches a single character once
[] match a single character in a range
touch chapters{1,2,3}.txt

// will create chapters1.txt, chapters2.txt and chapters3.txt 

tar: create, maintain, modify, and extract files that are archived in the tar format.

Userful Options:

Option Meaning Example
-c create a new archive. tar -cf archive.tar file1 file2
-f use archive file or device ARCHIVE
-v verbosely list files processed.
-x untar tar archive file tar -cvf archive.tar

gzip: compress

wget: download file over network.

Userful Options:

Option Meaning Example
-O specify output wget -O file http://foo

id: prints real and effective user and group ID

uid=501(michaelzheng) gid=20(staff) groups=20(staff),12(everyone)

groups: show group memberships

groups
//staff everyone 

whoami: prints the effective user

whoami
//michaelzheng

chmod: change the permissions of files or directories

For a file with listing like this:

-rw-r--r--   1 michaelzheng  staff  1983 Jul 17 16:17 README.md

The first char is the type. The 2-4 is the owner permission for reading, writing and execution respectively. 5-6 is for group members and 9-11 is for others. Taking the example above for illustration:

  • -: normal file
  • rw-: owner(i.e. michaelzheng) can read and write
  • r--: groups members can only read
  • r--: others can only read

To change each permission group, we can convert binary representation to octal format.

r w e
4(i.e. 2^2) 2(i.e. 2^1) 1(i.e. 2^0)

Therefore, if I want to grant owner rwx(4 * 1 + 2 * 1 + 1 * 1 = 7), group member rx(4 * 1 + 2 * 0 + 1 * 1 = 5) and others r (4 * 1 + 2 * 0 + 1 * 0 = 4) then i can use

chmod 750 README.md

ps: displays information about a selection of the active processes

jobs: display status of jobs in the current session

fg: run jobs in the foreground

bg: run jobs in the background

df: report file system usage

Useful options:

Option Meaning
-h print sizes in human readable format
du -h

//output: 
Filesystem      Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1     112Gi   97Gi   15Gi    87% 2771640 4292195639    0%   /
devfs          182Ki  182Ki    0Bi   100%     630          0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%       0          0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%       0          0  100%   /home

du: estimate file space usage

Useful options:

Option Meaning
-h print sizes in human readable format
-s display only a total for each argument

Reference

Notice

  • If you want to follow the latest news/articles for the series of reading notes, Please 「Watch」to Subscribe.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant