pwd # print working directory
ls # list content
ls /dir/subdir # starts with / -> absolute path
ls dir/subdir # doesn't start with / -> relative path
ls -R # see also content in the subdirectory
ls -F # see also a * after runnable programs, / after directories
cd # change directory
.. # parent directory
cd .. # go to parent directory
ls .. # list parent directory content
~ # home directory
cd ~ # go to home directory
ls ~ # list home directory content
cp # copy files
cp original.txt duplicate.txt # copy original.txt and name it duplicate.txt
# NB: use quotes if there are spaces in files or directories names
# copy the 2 files in the backup directory
mv # move or rename files or directories
# move the 2 files from backup to the parent directory
mv original.txt old.txt # rename original.txt in old.txt
mv backup backuptwo # rename the backup directory
rm # remove files
rm old.txt duplicate.txt # remove the 2 files
rmdir # remove a directory only if it's empty
rmdir backuptwo
mkdir # make a new directory
mkdir backup
cat # print file content
cat test.txt
less # display file content one page at time
less test.txt
# now we can use spaceboard for go to next page or q to quit
head # display first 10 lines
head -n 3 test.txt # only first 3 lines
# NB: with tab you have auto completion, double tab in case of ambiguity
man # find out what a command do
man less
cut # select column from a file
# select columns from 2 to 5 and 8 using comma as separator
grep # select a line in file according to what contain
grep hello file.csv # select lines with hello
# -c: print a count of matching lines rather than the lines themselves
# -h: do not print the names of files when searching multiple files
# -i: ignore case (e.g., treat "Regression" and "regression" as matches)
# -l: print the names of files that contain matches, not the matches
# -n: print line numbers for matching lines
# -v: invert the match, i.e., only show lines that don't match
grep -n -v hello test.csv # select lines with lines number without hello
grep -c hello file.csv two.csv # how many lines with hello in the two files
sed # replace
sed 's/hello/hi/g' test.txt # replace hello with hi in test.txt
> # redirect output to a file
head -n 3 test.txt > test2.txt
| # create pipe
# take first 9 rows, then take the last two of the result (8-9)
# 1. select first column of the comma delimited file.csv in dir
# 2. remove lines with "Date" (maybe the header)
# 3. take the first ten lines
wc # count of the character (-c), words (-w), lines (-l) in a file
grep hello file.csv | wc -l # num of records with hello
# * -> matches 0 or more characters
# ? -> matches a single character
# [...] -> matches any one of the characters in the brackets
# {...} -> matches any of the comma-separated patterns in the brackets
cut -d , -f 1 dir/*.csv # first field of all csv files in dir
cut -d , -f 1 dir/c*.csv # first field of all csv files in dir starting with c
sort # put data in order (alphabetically without patterns)
# -r -> sort numerically
# -b -> ignore leading blanks
# -f -> case insensitive
cut -d , -f 2 dir/file.csv | grep -v hello| sort -r
# take column 2 of the file, only the lines with hello, reverse order
uniq # remove adjacent duplicate lines
# take second column of the file without duplicates
cut -d , -f2 file.csv | sort -r | uniq -c
# same but with count of how often each occours
cut -d , -f2 file.csv | sort -r | uniq -c > new.csv
# same the result in new.csv
# ctrl+c for stop a running program
# HOME -> User's home directory
# PWD -> Present working directory
# SHELL -> Which shell program is being used
# USER -> User's ID
echo # prints its argument
echo hello # print hello
echo $USER # print the value of the variable
testvar=dir/file.csv # assign dir/file.csv to the variable testvar
head -n 1 testvar
# expr for numeric calculation but without decimal
expr 1+3
# bc is a calculator program, you can use it in a pipe
echo "5 + 7.5" | bc
echo "scale = 3; 10 / 3" | bc # scale for how many decimals
# for loops
for [variable] in [list] ; do [body] ; done
nano file.txt # edit file.txt with nano text editor
history # see your command history
history | tail -n 3 > steps.sh # save your last 3 steps to file
head -n 1 dir/*.csv > header.sh # save command in sh file
bash headers.sh # tell shell to run commands in the file
$@ # all of the command-line parameters given to the script
bash unique-lines.sh dir/file.csv
# will run this command:
sort dir/file.csv | uniq
# use $1, $2, and so on to refer to specific command-line parameters
head -n $2 $1 | tail -n 1 | cut -d , -f $3 > get-field.sh
# take a filename, the row to select, the column to select, and print
bash get-field.sh dir/file.csv 4 2
# Print the first and last data records of each file.
for filename in $@
do
head -n 2 $filename | tail -n 1
tail -n 1 $filename
done
# in shell scripts use # for comments
# use \ to go to new line
② 쿠폰을 사용하고 게임을 하다가 입금하면 쿠폰액을 소진하거나 출금할 때까지 입금 처리가 진행되지 않거나 쿠폰금액의 10배 토토 사이트 출금 이후 입금액을 제외한 나머지가 전부 삭감됩니다. 본교의 모든 수업과 시험, 과제제출은 100 percent 온라인에서 이루어집니다. 수업은 정해진 시간 없이 자유롭게 강의를 들을 수 있지만, 시험은 지정된 시간내에 접속하여 응시해야 합니다.
ReplyDelete