UNIX Introduction
System Characters:
- stable稳定性
- multi-user多用户
- multi-tasking多任务处理
Operating System
- The kernel
- The shell
- The programs
The kernel
The kernel of UNIX is the hub of the operating system: it allocate time and memory to programs and handles the filestore and communications in response to system calls.
The kernel and the shell work together. For example, when a user types rm myfile:
- The shell wil searches the filestore for the file containing the program rm. /shell搜索该文件。
- Then the shell will request the kernel, through system calls, to execute the program rm on myfile. /shell请求kernel执行该请求。
- When finished, the shell then returns the UNIX prompt % to the user, indicating that is it waiting for further commands. /shell返回UNIX提示给用户,表明它现在正等待用户做下一步操作。
The shell
The shell helps the user to interact with the kernel. It will interprets the commands the user types in and arranges for them to be carried out, so the shell is a command line interperter(CLI)(命令行解释者). Using the shell will request user's adept skills, but we can use tcsh shell to help our inputting commands:
- Filename Competion - 自动补全
- History - 历史命令
Files and processes
Everything in UNIX is either a file or a process
UNIX里的所有东西都是以文件或进程的形式存在。
- 一个进程是指执行中的一个程序,每个进程用一个单独的PID(process identifier)进行标识。
- 一个文件是指一个数据的集合,通常是用户用文本编辑器、运行编译器等方式创建的数据集合。
Examples of files:
a document (report, essay etc.)
the text of a program written in some high-level programming language
instructions comprehensible directly to the machine and incomprehensible to a casual user, for example, a collection of binary digits (an executable or binary file);
a directory, containing information about its contents, which may be a mixture of other directories (subdirectories) and ordinary files.
Simple Command
List
$ ls
The ls command lists the contents of your current working directory.
However, there may be some files are hidden whose name begins with a dot(.)They are hidden because you should not change them unless you are very famillar with UNIX.
ls操作实际上不会把这个目录下的所有文件都显示出来,而只是打开那些不是以点(.)开头的文件,因为以点开头的文件是隐藏文件,在不熟悉UNIX操作的情况下,最好不要去对它们做改动。
$ ls -a
Using this command can help you to list files that are nomally hidden.
这一个命令,可以打开那些正常情况下被隐藏的文件。
这里展示了一个命令的例子,ls是一个命令,它可以伴随一些选项,例如 -a就是一个选项(所有all)。选项不同,命令的执行方式就会不同。具体执行命令的方式可以参考一些在线使用手册。
Making Directories
$ mkdir unixlearning
Using this command, you will make a subdirectory in your home directory to hold the files. 这样就创建了一个新的子目录在你的主目录下。
Changing to a different directory
$ cd unixlearning
Typing this command, you can change to the directory you have just made.
Pathnames
$ pwd
This will print the absolute pathname of your home directory.
输出当前的路径名。
$ ls ~/Desktop
When we use home directories, we can also replace it wit tilt ~ character. It can be used to specity paths starting at your home directory.
列出相对路径下的内容,~符号代表省略主目录。
Copy Files
$ cp ~/Desktop/Demo/file.txt .
This command means to copy the file.txt to the current directory. The dot means the current directory.You will have the effect that two files left.
复制一个文件(夹)到某处。
Move Files
$ mv ~/Desktop/Demo/file.txt .
This command means to directly move the file.txt to the current directory. This will end up with only one file. You can also use this command to rename your file by moving the file into the same directory'file with a new name.
移动一个文件(夹)到某处,或重命名该文件(夹)。
Remove files and directories
$ rm file.txt
This command deletes the file.txt.
删除文件
You can also remove a directory:
$ rmdir toberm
This will remove the directory "toberm". When remove the directory, please make sure it is empty first.
这个命令可以用来删除目录,在删除之前请确保它是空的。
Clear(clear screen)
$ clear
This will clear the terminal window of the previous commands.
清屏。
Concatenate
$cat file.txt
This will display the contents of a file on the screen.
Head & Tail
$ head file.txt
To write the first 10 lines of a file to the screen
显示文件的前十行
$ head -5 file.txt
显示前五行
$ tail file.txt
To write the last 10 lines of a file to the screen
显示后十行
Search using less
First type :
$ less file.txt
then use slash [/] followed by the word to search:
/demo
Now you can see less finds and highlights the keyword, and you can type [n] to search for the next occurrence of the word.
用less显示文件内容,然后用反斜杠直接进行关键词搜索。
Search using grep
$ grep demo file.txt
This will find the keyword demo in file.txt, grep will print out each line containing the word demo.
用grep在文件中搜索关键词。并利用gerp的选项,进行其他功能的操作如下:
To ignore the lower/upper case distinctions, use -i option:
$ grep -i Demo file.txt
This can also search the demo keyword.
Some of the other options of grep are:
-v display those lines that do NOT match
-n precede each matching line with the line number
-c print only the total count of matched lines
Word count
$ wc -w file.txt
To do a word cound on file.txt.
统计文件的字数。
$ wc -l file.txt
To find out how many lines the file has.
统计文件的行数。
Quotes
UNIX Tutorial for Beginners