View a number of tutorials, VirtualBox and Ubuntu have been installed to complete. The following is an experimental report, an experiment, an unsolved problem, and an understanding of the basic basics of Linux learning.
Experiment three user and file Rights Management one, Linux User management (a) View commands 1. Enter the command:
$who am i
Or$who mom likes
Output: Shiyanlou pts/0 2018-02-14 14:42 (: 1.0)
To view the user name of the currently logged in user, use WhoAmI directly to
2.who command Other common parameters
- -A print all that can be printed
- -D Print dead process
- -M with AM I,mom likes
- -Q Print The current number of logged in users and user name
- -U print current logged in user login information
- -R print Run level
(ii) Create a user 1. Two prerequisites for using the sudo command:
Know the password of the currently logged on user (top of document)
Note: The Linux password input is not displayed for any content
The current user must be in the sudo user group
2. For example:Enter the command:$sudo adduser ariel
ls /home
su -l ariel
(c) User group 1. Meaning:
A collection of users that share some resources and permissions while owning a private resource
2. How do you know which user groups you belong to in Linux? Method one, using the Groups command
Input:$groups shiyanlou
Output: Shiyanlou:shiyanlou a colon before the user, and a colon after the user group that the user belongs to
Method Two, view/etc/group file
Input:$cat /etc/group | sort
Output: The last line is user group information
Input: $cat /etc/group | grep -E "shiyanlou"
filter out some of the results you don't want to see
Output: shiyanlou?5000:
- Cat command: Used to read the contents of the specified file and print the terminal output
- | Sort: Indicates that the text to be read is sorted in a dictionary and then output
- Etc/group file Format Description group_name:password:GID:user_list
3. Add another user to the sudo user group
Input:$su shiyanlou
$groups xyh
$sudo usermod -G sudo xyh
$groups xyh
$su -l xyh
$sudo ls
(iv) Deletion of users
Input:$sudo deluser ariel --remove-home
Second, Linux file permissions (a) View file permissions
Input:$ls -l
- Everything in Linux is file
(ii) Change of file owner
First log in User name Xyh, create a new file named books
Input:$touch books
$ll books
Swap back to Shiyanlou user identity
Input:$cd /home/xyh
$ls books
$sudo chown shiyanlou books
$ll books
(iii) Modify the file permissions method one or two binary digit representation
- 0: No permissions, 1: Executable x, 2: Writable W, 4: Readable R
- A total of 10 locations, first if-the non-directory file, if D is the directory
Input:$echo "echo \"hello shiyanlou\"">books
$chmod 600 books
$ll books
$su xyh
$cat books
Method Two, add and subtract assignment operation
U:user, G:group, O:others, a:all, + promotion,-remove
Input:$chmod go-rw books
$ll books
Third, more
What is the difference between AddUser and useradd?
- Useadd, Userdel This kind of operation is more like a kind of command, the execution is finished to return
- AddUser is more like a program that requires input, determination and a series of operations
Iv. problems encountered
Ii. (iii) Methods of modifying file permissions in the two plus minus assignment operation, what does the u/g/o follow?
For example: "U-x" Why is "--w--wx-wx"?
Experiment four, Linux directory structure and file base directory one, Linux directory structure 1.FHS standard (file system hierarchy Standard)
2. Directory path Path
CD Switch Directory
. Current directory
.. Top level Directory
-Previous Directory
~ Current user's home directory
PWD Gets the current path
Absolute path
The full path starting with the root "/" directory, ending with the directory you want to go to
Relative path
to the current directory. As the starting point, to the end of the directory you want to go to
For example: Start with the home directory and enter the/usr/local/bin directory
Absolute path: $cd /usr/local/bin
$pwd
Relative path: $cd ../../usr/local/bin
$pwd
Ii. basic operation of Linux files 1. New
Create a new blank file
$cd ~
Switch back to the user's/home/shiyanlou directory
$touch test
Create a blank file named Test
- New Catalog
- Use the mkdir command to create an empty directory, or you can specify permission properties to create a directory
mkdir mydir
Use the-p parameter to create the parent directory at the same time
$mkdir -p father/son/grandson
$cd father/son/grandson
$pwd
2. Copying
$cp test father/son/grandson
$mkdir family
Create a Directory
$cp -r father family
Plus-R or-R parameters, indicating recursive replication
3. Delete
$rm test
If the delete is enforced $rm -f test
.
For example:$touch test
$chmod 444 test
$ll test
$rm test
$rm -f test
$rm -r family
Plus-R or-R parameters
4. Move file and file rename
"MV Source directory file destination directory"
$mkdir doc
Create Directory Doc
$touch file
Create file
$ls file
Output file
$mv file doc
To move file files to the doc directory
$cd doc
Switch Directory doc
$ls
Output file
"MV old file name new filename"
$mv file1 file2
- Batch rename (slightly, using the rename command)
5. View Files
- viewing files using the cat, TAC commands: Print file contents to standard output (terminal), Cat positive order, TAC reverse, can be added with the-n parameter to display line numbers
$cp /etc/passwd .
Copy the passwd file from the/etc directory
$cat passwd
$cat -n passwd
- View files with the NL command: Add line numbers and print
$nl -b a file
Indicates that the line number (same as "cat-n") is also listed, regardless of whether it is a blank line
$nl -b t file
List only non-blank lines and list (default)
$nl -n ln file
Display at the leftmost end of the row number field
$nl -n rn file
Display at the right end of the line number field without adding 0
$nl -n rz file
Display at the right end of the line number field, plus 0
$nl -w 2 -n rz file
-W plus number indicates the number of digits occupied by the line Number field, which defaults to 6 bits
- Use the more and less commands to page through the file, you can directly use the keyboard operation page
$cp /etc/passwd .
$more passwd
Only one screen is displayed by default, the bottom of the terminal shows the current reading progress,
Enter: Scroll down one line,
Space: Roll down the next screen,
H: Show Help, Q: Exit
- Viewing files using the head, tail command
$head /etc/passwd
10 rows only, default is 10 rows, less than 10 lines show all
$head -n 2 /etc/passwd
Only 2 lines
$tail /etc/passwd
Look only after 10 lines
$tail -n 3 /etc/passwd
Look only after 3 lines
6. View File types
The type of file in Linux is not judged by the file suffix, typically using the file command to view the type of files
$file /bin/ls
7. Edit the file
See Vim Editor
Vim Quick Start one, mode introduction
6 Basic modes: normal, INSERT, command Line, visual, select, Ex
Two or three common modes of switching
- Normal → insert press I key or a key
- Normal → command line press: Key
- Insert, command line → Normal press the ESC key
Third, enter the VIM1. Use the VIM command to enter the Vim interface
2. Normal mode downstream label movement
H left, J down, k up, L right, W moves to the next word, B moves to the previous word
Iv. Entering insert mode
- I edit at the current cursor
- I Insert at the beginning of the line
- A inserts at the end of A row
- A after the cursor is inserted
- o Insert a new row after the current line
- O insert a new row before the current line
- CW replaces characters from the position of the cursor to the end of a word
Five, save the document in command line mode
Normal Mode input: Enter command line mode
- Enter W return to save the document
- Enter to save the
:w 文件名
document as a different file name or save it to a different path
Vi. exit vim1. Exit vim in command line mode
- : Wq Save and exit
- : wq! Force Save and exit
- : Q exit
- : q! Force quit, do not save
- :w< file path > Save As
- : Save SaveAs file path as
- : X Save and exit
2. Exiting vim in normal mode
Vii. Delete vim text information in normal mode
- X or delate Delete the character that the cursor contains
- X Delete the previous character of the cursor
- DD Delete entire row
- DW Delete a word (not in Chinese)
- d$ or D Delete to end of line
- d^ Delete to the beginning of the line
- DG deleted at end of document
- D1G Delete to document header
- "Number + command" means deleting more than one row at a time, such as
2dd
deleting 2 rows at a time
Vim document Edit 1.vim Repeat command 1.1 repeat last command
$cp /etc/protocols .
Copy test files to a local directory
$vim protocols
Open a file for editing
.
repeat the last command operation in normal mode
For example: Enter x in normal mode, delete the character of the cursor, the input .
will delete one character again, in addition to repeat the delete operation of DD
1.2 Execute the same command in the specified number of times
Input n+命令
, examples are as follows:
10x
Delete 10 consecutive characters
3dd
Delete 3 lines of text
dw
or daw
delete a word
dnw
Delete N words
2. Quick jump of cursor (normal mode) 2.1 inline jump
n shift+g(nG)
Cursor moves to nth row
gg
Cursor moves to the first row
shift+g(G)
Cursor moves to the last row
- If the line number is not displayed by default, enter command mode to
:
set nu
display the line number
- You can use
ctrl+o
quick to go back to the previous (before jump) cursor position
2.2 In-line jump
In normal mode, use the following command to jump in a word in a row
w
To the beginning of the next word
e
To the end of the current word
b
To the beginning of the first word
ge
To the end of the previous word
0
Or ^
to a costume.
$
To end of line
~
Change the letter of the cursor to uppercase or lowercase
f+字母
Search backwards for letters and jump to the first matching position
F+字母
Search for letters forward and jump to the first matching position
t+字母
Searches backwards for letters and jumps to a letter before the first matching position
T+字母
Search for letters forward and jump to a letter before the first matching position
3. Copy and paste and cut 3.1 copy and paste text 1. Use Y to copy in normal mode
yy
Copy the entire row of the cursor
3yy
Copy 3 rows
y^
or y0
copy to the beginning of the line without the character at the cursor
y$
Copy to end of line with character at cursor
yw
Copy 1 words
y2w
Copy 2 words
yG
Copy to end of text
y1G
Copy to beginning of text
2. Paste with P in normal mode
p
(lowercase) after pasting to cursor (bottom)
P
(uppercase) Paste to the front of the cursor (top)
3.2 Cutting and pasting
ddp
Quick swap the line with the cursor and the line below it
Find replacement 1. Character Substitution and revocation (undo action)
Normal mode,
r、指定字母
Press R First, and then the specified letter to replace the cursor with the specified letter
R
Press R First, the replace Word appears, enter the insertion mode, can be replaced continuously, until you press ESC, exit and remember to change to lowercase lock
cc
Replace the entire row, which deletes the row of the cursor and enters insert mode
cw
Replace a word, delete a word, and enter insert mode
C
(uppercase) Replace cursor to end of line
~
Reverses the case of a cursor in the same letter
u
Undo One operation
u{n}
Undo n operations??? (See the problems encountered)
U
Undo All Current Changes
ctrl+r
Undo undo action??? (see the problem encountered)
2. Fast Indent 2.1 Use commands to quickly adjust indent operations (normal mode)
:set nu
Show line Numbers
15G
Jump To line 15th
>>
Indent the entire line to the right
<<
The entire line is rolled back to the left
2.2shiftwidth command
:set shiftwidth?
Gets the current set value
:set shiftwidth=10
Set indent to 10 characters
>>
See how the Indent changes
2.3 Adjusting the text position
:ce
(center) Centers the text of the bank
:ri
(right) to make our text on
:le
(left) to leave the bank's text on
3. Find 3.1 Quick Find
Enter in normal mode /
, then type the string you want to find and press ENTER to find it
/
Look down
?
Look up
n
Continue to find
N
Reverse Lookup
3.2 Advanced Find
Normal mode,
\*
Look backwards (down) for the word where the cursor is located
\#
Forward (top) Find the word that the cursor is in
g\*
Same as *, but partially conform to the word
g\#
The same #, but partially matches the word
4. Problems encountered
- "
u{n}
Undo N Operations" How to use this command?
ctrl+r
What is the role? "Already at newest" is displayed after pressing "Ctrl+r", but no other changes are seen.
Getting Started with advanced features 1. Multi-file editing 1.1 using Vim to edit multiple files
Two kinds of forms:
$vim 1.txt 2.txt
Create two new files and edit them simultaneously
:n
Edit 2.txt File
:n!
Forced switchover, not saved
:N
Edit 1.txt File
:N!
Forced switchover, not saved
1.2 Open new file after entering vim
:e 3.txt
Open a new file 3.txt
:e#
Go back to the previous file
:ls
You can list previously edited documents
:b 2.txt
Direct access to file 2.txt editing
:bd 2.txt
You can delete a file item in a previously edited list
:e! 4.txt
New Open File 4.txt, discard the file you are editing
:f
Display the file name you are editing
:f new.txt
Change the file being edited name to New.txt
1.3 Recovering files
$vim -r 1.txt
:ewcover 1.txt
2. Visual mode
- Normal mode input
v
(lowercase), enter the character select "VISUAL" mode, you can move the cursor, where the cursor will be selected, press V again will cancel the selection
- Normal mode input, enter the
shift+v
line select "VISUAL lines" mode, you can move the cursor up and down to select more rows, press Shift+v again will cancel the selection
- Normal mode input, enter the
ctrl+v
area Select "VISUAL BLOCK" mode, you can move the cursor selection area up or down, press CTRL + V to deselect
- In the visual "visual" Mode to enter
d
or x
delete the selection
- In the visual "visual" mode, enter
y
the copy selection
3. Windows operation
:new
Open a new Vim window
:sp 1.txt
Open a new horizontal split-screen window to edit 1.txt
:vsp 2.txt
Open a new Vertical split screen window to edit 2.txt
4. Create an encrypted document
$vim -x file1
5. Executing external commands in vim
:! ls
Used to display the contents of the current directory
:! rm FILENAME
Used to delete a file named filename
:w FILENAME
Save the file you are editing in the current vim as a filename file
viewing Help in 6.vim
- Press F1 in normal mode to open Vim's own preset help document
:h shiftwidth
Open a Help file named Shiftwidth
:ver
Display version and Parameters
7. Function setting 7.1 Get the current setting
:set
Or :se
Show all the modified configurations
:set all
Show all the set values
:set option?
Display the Set value of option
:set nooption
Cancel the current set value
Description of the 7.2set function
:set ai
Set Auto Indent
:set aw
Set up AutoArchive, default not open
:set background=back或light
Set the background style
:set bk
Set up automatic backup, not open by default
:set cin
Set C speech Style indentation
Experiment Five, environment variables and files find one, environment variables 1. Variables
declare tmp
To create a variable named TMP using the DECLARE command
tmp=shiyanlou
Assign the variable TMP to Shiyanlou
echo $tmp
Read the value of the variable, using ECHO and $
Note: variable names can only be English letters, numbers, or underscores, and cannot begin with a number
2. Environment variables
Three commands for printing environment variable information:
Set shows all variables of the current shell
ENV displays the environment variables associated with the current user
Export shows variables exported from the shell to environment variables
Note: In order to differentiate from normal variables, we are accustomed to setting the environment variable name to uppercase
3. Search path and order of commands
echo $PATH
View the contents of the PATH environment variable
4. Add a custom path to the "path" environment variable
PATH=$PATH:/home/shiyanlou/mybin
Add a custom path (note: Absolute path must be used here)
echo "PATH=$PATH:/home/shiyanlou/mybin">>.zshrc
5. Modifying and deleting an existing variable 5.1 variable modification
${变量名#匹配字串}
From head to back, shortest
${变量名##匹配字串}
From top to back, longest
${变量名%匹配字串}
From the back forward, the shortest
${变量名%%匹配字串}
From the back forward, the longest
${变量名/旧的字串/新的字串}
Replace the first string that matches the old string with a new string
${变量名//旧的字串/新的字串}
Replace all strings that match the old string with a new string
For example:
path=$PATH
echo $path
path=${path%/home/shiyanlou/mybin}
path=${path%*/mybin}
5.2 Variable Deletion
$unset temp
6. How to make environment variables effective immediately
$. ./.zshrc
You must specify a complete absolute or relative path name
$source .zshrc
Don't need
Second, search file 1.whereis simple fast 2.locate fast and full 3.which small and fine 4.find fine and fine
Time-related command parameters:
-atime
Last Access time
-ctime
Last time the file content was modified
-mtime
Last time the file properties were modified
For example:
-mtime n
: Modified files within one day before n days
-mtime +n
: Files that were modified before n days (not including the Nth Day itself)
-mtime -n
: Files that have been modified within n days (containing the nth day itself)
-newer file
: File is an existing document, listing the new file name
For example:
$find ~ -mtime 0
List files that have changed in the home directory for the day (within 24 hours)
$find ~ -newer /home/shiyanlou/Code
List the new files in the user directory than the code folder
Challenge: Finding Files
Goal:
- Locate Sources.list File
- Modify the file owner to yourself (Shiyanlou)
- Modify the permissions to only be readable and writable
Experiment six, file packaging and decompression one, zip Compression Packager 1. Use the Zip Package folder
zip -r -q -o shiyanlou.zip /home/shiyanlou
-r
Indicates that a recursive package contains all the contents of a subdirectory
-q
Expressed as quiet mode, that is, does not output information to the screen
-o
Indicates the output file, followed by packaging the output filename immediately thereafter
$du -h shiyanlou.zip
View the size of a packaged file
$file shiyanlou.zip
2. Set the compression level to 9 and 1 (9 max, 1 min), repack
$zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
$zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip
- 1 means the fastest compression but the volume is large, 9 means the smallest volume but the longest time
-x
To exclude the zip file we created last time.
- Note: Only absolute paths can be used here, otherwise it will not work
$du -h -d 0 *.zip ~ | sort
- H:--human-readable
- D:--max-depth
3. Create an encrypted ZIP package
$zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
Use the-e parameter to create an encrypted compressed package
$zip -r -l -o shiyanlou.zip /home/shiyanlou
Plus the-l parameter converts LF (line break in LUnix) to CR+LF (line wrapping in Windows)
Second, unzip the zip file using the unzip command
$unzip shiyanlou.zip
Extract the Shiyanlou.zip to the current directory
$unzip -q shiyanlou.zip -d zipest
Use Quiet mode to extract files to the specified directory
$unzip -l shiyanlou.zip
Do not want to unzip only want to see the contents of the compressed package with the-l parameter
$unzip -O(大写)GBK 中文压缩文件.zip
Specifying the encoding type using the-o parameter
Iii. rar Packaging Compression command
$sudo apt-get update
$sudo apt-get install rar unrar
Installing RAR and Unrar tools
$rm *.rar
$rar a shiyanlou.rar .
Create a compressed package or add a file to a compressed package from a specified file or directory
- Use the A parameter to add a directory ~ to an archive, if the file does not exist it will be automatically created
- RAR command Parameters No-, if added will error
$rar d shiyanlou.rar .zshrc
To delete a file from the specified compressed package file
$rar 1 shiyanlou.rar
View unresolved files
$unrar x shiyanlou.rar
Full path decompression
$mkdir tmp
$unrar e shiyanlou.rar tmp/
Remove Path Decompression
Iv. Tar Packaging tools
$tar -cf shiyanlou.tar ~
-c
Represents creating a Tar package file
-f
Used to specify the file name to be created, immediately following the file name
-v
Visual
-p
Preserve absolute path characters
$mkdir tardir
$tar -xf shiyanlou.tar -c tardir
Unpack a file (-X) to the existing directory of the specified path (-c)
$tar -tf shiyanlou.tar
View only unresolved package file-T parameter
$tar -cphf etc.tar /etc
Keep file attributes (-p) and follow links, backup links to source files instead of link itself (-h)
$tar -czf shiyanlou.tar.gz ~
Compressed file format and corresponding parameters:
*.tar.gz
Corresponding-z
*.tar.xz
Corresponding-J
*.tar.bz2
Corresponding-j
Experiment VII, File system operation and Disk Management I. BASIC operations 1. Use the DF command to view the capacity of a disk
$df
$df -h
Easier to read
2. Use the du command to view the directory's capacity
$du
$du -h
Easier to read
$du -h -d 0 ~
View information for Level 1 directories only
$du -h -d 1 ~
View Level 2
-d
parameter specifies the depth of the view directory
-a
parameter displays the size of all files in the directory
-s
Show totals only, list the last plus total values only
Second, create a virtual disk
I can't read it.
Experiment VIII, Linux Help command One, built-in commands and external commands
- Built-in command: "Natural and innate skills" such as: History, CD, Exit
- External command: "Acquired additional skills", e.g. LS, vi
Input$type xxx
If output:
xxx is a shell builtin
Description is built-in command
xxx is usr/sbin/xxx
Description is an external command
xxx is an alias for xx - xxx
Description is the name set for the command alias
Second, the use of the Help command 1.help command
$bash
$ help exit
The help command can only be used to display information about the built-in commands
If the external command is$ls --help
2.man command
$man ls
Man command has no distinction between built-in and external commands
Man Handbook: Press PgUp and PgDn up and down, press Q to exit the current page
LS(1)
LS represents the manual name, (1) indicates that the manual is in the first chapter
3.info command
Regular bash will bring your own
info ls
Summarize
The study in the experimental building stimulated my interest in learning, especially the "relax" at the end of each experiment, which really surprised me and made me feel fulfilled. However, there are still many unresolved issues, such as:
- Experiment two operation part toilet, figlet how to use?
- Experiment three methods of modifying file permissions in the two plus minus assignment operation, what does the u/g/o follow?
For example: "U-x" Why is "--w--wx-wx"?
- Vim Find and Replace experiment, "
u{n}
Undo N Operations" How to use this command?
- What is the role of vim in finding and replacing experiments
ctrl+r
? "Already at newest" is displayed after pressing "Ctrl+r", but no other changes are seen.
- Experiment seven creating a virtual disk is not read
I hope I can solve these problems in the future study.
20165306 preparatory work 3 Linux installation and learning