linux下几个基本的命令和命令行终端的使用技巧
2011-02-14 00:38
1031 查看
Using
The Terminal //使用终端的技巧
Why use the command-line? //使用命令行的理由
"Under Linux there are GUIs (graphical user interfaces), where you can point and click and drag, and hopefully get work done without first reading lots of documentation. The traditional
Unix environment is a CLI (command line interface), where you type commands to tell the computer what to do. That is faster and more powerful, but requires finding out what the commands are."
-- from man intro(1)
There are many varieties of Linux, but almost all of them use similar commands that can be entered from a command-line interface terminal.
There are also many graphical user interfaces (GUIs), but each of them works differently and there is little standardization between them. Experienced users who work with many different
Linux distributions therefore find it easier to learn commands that can be used in all varieties of Ubuntu and, indeed, in other Linux distributions as well.
For the novice, commands-line interface commands can appear daunting:
However, it is important to note that even experienced users often cut and paste commands (from a guide or manual) into the command-line terminal; they do not memorize them.
It is important, of course, to know how to use the command-line terminal - and anyone who can manage typing, backspacing, and cutting and pasting can manage the command-line terminal
(it is not more difficult than that).
This page will outline a few crafty shortcuts which can make using a command-line interface easier.
All command names will be in
bold.
Commands needing to be typed will be in"bold with quotes".
All of the commands on this page are to be issued from a command prompt in a terminal.
Note that the terminal is case sensitive. User, user, and USER are all different to Linux.
The terminal can be found at Applications menu ->
The terminal can be found at KMenu ->
when working with directories or files not owned by your user account. When using sudo you will be prompted for your password. Only users with sudo (administrative) privileges will be able to use this command. (Please seeRootSudo
for more information on using sudo.)
pwd: The
pwd command will allow you to know in which directory you're located (pwd stands for "print working directory"). Example:"pwd" in the Desktop directory will show "~/Desktop". Note that the Gnome Terminal also
displays this information in the title bar of its window. A useful gnemonic is "present working directory."
ls: The
ls command will show you ('list') the files in your current directory. Used with certain options, you can see sizes of files, when files were made, and permissions of files. Example:"ls ~" will show you the files that are in
your home directory.
cd: The
cd command will allow you to change directories. When you open a terminal you will be in your home directory. To move around the file system you will usecd. Examples:
To navigate into the root directory, use"cd /"
To navigate to your home directory, use"cd" or
"cd ~"
To navigate up one directory level, use"cd .."
To navigate to the previous directory (or back), use"cd -"
To navigate through multiple levels of directory at once, specify the full directory path that you want to go to. For example, use,"cd /var/www" to go directly to the
/www subdirectory of /var/. As another example,"cd ~/Desktop" will move you to the Desktop subdirectory inside your home directory.
cp: The
cp command will make a copy of a file for you. Example:
"cp file foo" will make a exact copy of "file" and name it "foo", but the file "file" will still be there. If you are copying a directory, you must use"cp -r directory foo" (copy recursively). (To understand what "recursively" means,
think of it this way: to copy the directory and all its files and subdirectories and all their files and subdirectories of the subdirectories and all their files, and on and on, "recursively")
mv: The
mv command will move a file to a different location or will rename a file. Examples are as follows:"mv file foo" will rename the file "file" to "foo".
"mv foo ~/Desktop" will move the file "foo" to your Desktop directory but will not rename it. You must specify a new file name to rename a file.
To save on typing, you can substitute '~' in place of the home directory.
Note that if you are using
mv with sudo you can use the ~ shortcut, because the terminal expands the ~ to your home directory. However, when you open a root shell withsudo -i or
sudo -s, ~ will refer to the root account's home directory, not your own.
rm: Use this command to remove or delete a file in your directory.
rmdir: The
rmdir command will delete an empty directory. To delete a directory and all of its contents recursively, userm -r instead.
mkdir: The
mkdir command will allow you to create directories. Example:
"mkdir music" will create a directory called "music".
man: The
man command is used to show you the manual of other commands. Try
"man man" to get the man page for man itself. See the "Man & Getting Help" section down the page for more information.
df command displays filesystem disk space usage for all mounted partitions. "df -h" is probably the most useful - it uses megabytes (M) and gigabytes (G) instead of blocks to report. (-h means "human-readable")
du: The
du command displays the disk usage for a directory. It can either display the space used for all subdirectories or the total for the directory you run it on. Example:
-s means "Summary" and-h means "Human Readable"
free: The
free command displays the amount of free and used memory in the system.
"free -m" will give the information using megabytes, which is probably most useful for current computers.
top: The
top command displays information on your Linux system, running processes and system resources, including CPU, RAM & swap usage and total number of tasks being run. To exittop, press
"q".
uname -a: The
uname command with the -a option prints all system information, including machine name, kernel name & version, and a few other details. Most useful for checking which kernel you're using.
lsb_release -a: Thelsb_release command with the
-a option prints version information for the Linux release you're running, for example:
ifconfig reports on your system's network interfaces.
and to assign a password for the newuser account use"passwd newuser".
ls command for example has an-s option so that
"ls -s" will include file sizes in the listing. There is also a-h option to get those sizes in a "human readable" format.
Options can be grouped in clusters so"ls -sh" is exactly the same command as
"ls -s -h". Most options have a long version, prefixed with two dashes instead of one, so even"ls --size --human-readable" is the same command.
"Man" and getting help //manual手册以及用它获得帮助
man
command, info command andcommand --help are the most important tools at the command line.
Nearly every command and application in Linux will have a man (manual) file, so finding them is as simple as typing"man "command"" to bring up a longer manual entry for
the specified command. For example,"man mv" will bring up the
mv (Move) manual.
Move up and down the man file with the arrow keys, and quit back to the command prompt with"q".
"man man" will bring up the manual entry for theman command, which is a good place to start!
"man intro" is especially useful - it displays the "Introduction to user commands" which is a well-written, fairly brief introduction to the Linux command
line.
There are also
info pages, which are generally more in-depth thanman pages. Try
"info info" for the introduction to info pages.
Some software developers prefer
info to man (for instance, GNU developers), so if you find a very widely used command or app that doesn't have aman page, it's worth checking for an
info page.
Virtually all commands understand the-h (or
--help) option which will produce a short usage description of the command and it's options, then exit back to the command prompt. Try"man -h" or
"man --help" to see this in action.
Caveat: It's possible (but rare) that a program doesn't understand the -h option to mean help. For this reason, check for aman or
info page first, and try the long option --help before -h.
man -k
foo will search the man files forfoo. Try
"man -k nautilus" to see how this works.
Note that this is the same as doingapropos
command.
man -f
foo searches only the titles of your system's man files. Try"man -f gnome", for example.
Note that this is the same as doingwhatis
command.
Other Useful Things
Konqueror installed will be pleased to find they can read and search man pages in a web browser context, prettified with their chosen desktop fonts and a little colour, by visitingman:/command in Konqueror's address bar. Some
people might find this lightens the load if there's lots of documentation to read/search.
won't paste in with ctrl+V. Surely you don't have to type in all those nasty commands and filenames? Relax.ctrl+shift+V pastes into a Gnome terminal; you can also do Middle Button Click on your mouse (both buttons simultaneously
on a two-button mouse) or Right Click and selectPaste from the menu. However, if you want to avoid the mouse and yet paste it, use "Shift+Insert", to paste the command. If you have to copy it from another terminal / webpage, you can use "Ctrl+Insert"
to copy.
When the cursor is where you want it in the line, typinginserts text - ie it doesn't overtype what's already there.
The Terminal //使用终端的技巧
Why use the command-line? //使用命令行的理由
"Under Linux there are GUIs (graphical user interfaces), where you can point and click and drag, and hopefully get work done without first reading lots of documentation. The traditional
Unix environment is a CLI (command line interface), where you type commands to tell the computer what to do. That is faster and more powerful, but requires finding out what the commands are."
-- from man intro(1)
There are many varieties of Linux, but almost all of them use similar commands that can be entered from a command-line interface terminal.
There are also many graphical user interfaces (GUIs), but each of them works differently and there is little standardization between them. Experienced users who work with many different
Linux distributions therefore find it easier to learn commands that can be used in all varieties of Ubuntu and, indeed, in other Linux distributions as well.
For the novice, commands-line interface commands can appear daunting:
sudo gobbledegook blah_blah -w -t -f aWkward/ComBinationOf/mixedCase/underscores_strokes/and.dots
However, it is important to note that even experienced users often cut and paste commands (from a guide or manual) into the command-line terminal; they do not memorize them.
It is important, of course, to know how to use the command-line terminal - and anyone who can manage typing, backspacing, and cutting and pasting can manage the command-line terminal
(it is not more difficult than that).
This page will outline a few crafty shortcuts which can make using a command-line interface easier.
Using this page
All command names will be in
bold.
Commands needing to be typed will be in"bold with quotes".
All of the commands on this page are to be issued from a command prompt in a terminal.
Note that the terminal is case sensitive. User, user, and USER are all different to Linux.
Starting a Terminal
In Gnome (Ubuntu)
The terminal can be found at Applications menu ->
Accessories ->Terminal.
In KDE (Kubuntu)
The terminal can be found at KMenu ->
System ->Terminal Program (Konsole).
Commands
sudo: Executing Commands with Elevated Privileges
Most of the following commands will need to be prefaced with thesudo command. This elevates privileges to the root-user administrative level temporarily, which is necessarywhen working with directories or files not owned by your user account. When using sudo you will be prompted for your password. Only users with sudo (administrative) privileges will be able to use this command. (Please seeRootSudo
for more information on using sudo.)
File & Directory Commands //文件和目录命令
The tilde (~) symbol stands for your home directory. If you areuser, then the tilde (~) stands for /home/userpwd: The
pwd command will allow you to know in which directory you're located (pwd stands for "print working directory"). Example:"pwd" in the Desktop directory will show "~/Desktop". Note that the Gnome Terminal also
displays this information in the title bar of its window. A useful gnemonic is "present working directory."
ls: The
ls command will show you ('list') the files in your current directory. Used with certain options, you can see sizes of files, when files were made, and permissions of files. Example:"ls ~" will show you the files that are in
your home directory.
cd: The
cd command will allow you to change directories. When you open a terminal you will be in your home directory. To move around the file system you will usecd. Examples:
To navigate into the root directory, use"cd /"
To navigate to your home directory, use"cd" or
"cd ~"
To navigate up one directory level, use"cd .."
To navigate to the previous directory (or back), use"cd -"
To navigate through multiple levels of directory at once, specify the full directory path that you want to go to. For example, use,"cd /var/www" to go directly to the
/www subdirectory of /var/. As another example,"cd ~/Desktop" will move you to the Desktop subdirectory inside your home directory.
cp: The
cp command will make a copy of a file for you. Example:
"cp file foo" will make a exact copy of "file" and name it "foo", but the file "file" will still be there. If you are copying a directory, you must use"cp -r directory foo" (copy recursively). (To understand what "recursively" means,
think of it this way: to copy the directory and all its files and subdirectories and all their files and subdirectories of the subdirectories and all their files, and on and on, "recursively")
mv: The
mv command will move a file to a different location or will rename a file. Examples are as follows:"mv file foo" will rename the file "file" to "foo".
"mv foo ~/Desktop" will move the file "foo" to your Desktop directory but will not rename it. You must specify a new file name to rename a file.
To save on typing, you can substitute '~' in place of the home directory.
Note that if you are using
mv with sudo you can use the ~ shortcut, because the terminal expands the ~ to your home directory. However, when you open a root shell withsudo -i or
sudo -s, ~ will refer to the root account's home directory, not your own.
rm: Use this command to remove or delete a file in your directory.
rmdir: The
rmdir command will delete an empty directory. To delete a directory and all of its contents recursively, userm -r instead.
mkdir: The
mkdir command will allow you to create directories. Example:
"mkdir music" will create a directory called "music".
man: The
man command is used to show you the manual of other commands. Try
"man man" to get the man page for man itself. See the "Man & Getting Help" section down the page for more information.
System Information Commands //系统信息命令
df: Thedf command displays filesystem disk space usage for all mounted partitions. "df -h" is probably the most useful - it uses megabytes (M) and gigabytes (G) instead of blocks to report. (-h means "human-readable")
du: The
du command displays the disk usage for a directory. It can either display the space used for all subdirectories or the total for the directory you run it on. Example:
user@users-desktop:~$ du /media/floppy 1032 /media/floppy/files 1036 /media/floppy/ user@users-desktop:~$ du -sh /media/floppy 1.1M /media/floppy/
-s means "Summary" and-h means "Human Readable"
free: The
free command displays the amount of free and used memory in the system.
"free -m" will give the information using megabytes, which is probably most useful for current computers.
top: The
top command displays information on your Linux system, running processes and system resources, including CPU, RAM & swap usage and total number of tasks being run. To exittop, press
"q".
uname -a: The
uname command with the -a option prints all system information, including machine name, kernel name & version, and a few other details. Most useful for checking which kernel you're using.
lsb_release -a: Thelsb_release command with the
-a option prints version information for the Linux release you're running, for example:
user@computer:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 6.06 LTS Release: 6.06 Codename: dapper
ifconfig reports on your system's network interfaces.
Adding A New User //添加一个 新的用戶
"adduser newuser" command will create a new general user called "newuser" on your system,and to assign a password for the newuser account use"passwd newuser".
Options //选项的使用
The default behaviour for a command may usually be modified by adding a--option to the command. Thels command for example has an-s option so that
"ls -s" will include file sizes in the listing. There is also a-h option to get those sizes in a "human readable" format.
Options can be grouped in clusters so"ls -sh" is exactly the same command as
"ls -s -h". Most options have a long version, prefixed with two dashes instead of one, so even"ls --size --human-readable" is the same command.
"Man" and getting help //manual手册以及用它获得帮助
man
command, info command andcommand --help are the most important tools at the command line.
Nearly every command and application in Linux will have a man (manual) file, so finding them is as simple as typing"man "command"" to bring up a longer manual entry for
the specified command. For example,"man mv" will bring up the
mv (Move) manual.
Move up and down the man file with the arrow keys, and quit back to the command prompt with"q".
"man man" will bring up the manual entry for theman command, which is a good place to start!
"man intro" is especially useful - it displays the "Introduction to user commands" which is a well-written, fairly brief introduction to the Linux command
line.
There are also
info pages, which are generally more in-depth thanman pages. Try
"info info" for the introduction to info pages.
Some software developers prefer
info to man (for instance, GNU developers), so if you find a very widely used command or app that doesn't have aman page, it's worth checking for an
info page.
Virtually all commands understand the-h (or
--help) option which will produce a short usage description of the command and it's options, then exit back to the command prompt. Try"man -h" or
"man --help" to see this in action.
Caveat: It's possible (but rare) that a program doesn't understand the -h option to mean help. For this reason, check for aman or
info page first, and try the long option --help before -h.
Searching for man files
If you aren't sure which command or application you need to use, you can try searching the man files.man -k
foo will search the man files forfoo. Try
"man -k nautilus" to see how this works.
Note that this is the same as doingapropos
command.
man -f
foo searches only the titles of your system's man files. Try"man -f gnome", for example.
Note that this is the same as doingwhatis
command.
Other Useful Things
//其他的有用的东西(应该说是很实用的技巧,运用恰当将事半功倍)
Prettier Manual Pages
Users who haveKonqueror installed will be pleased to find they can read and search man pages in a web browser context, prettified with their chosen desktop fonts and a little colour, by visitingman:/command in Konqueror's address bar. Some
people might find this lightens the load if there's lots of documentation to read/search.
Pasting in commands
Often, you will be referred to instructions that require commands to be pasted into the terminal. You might be wondering why the text you've copied from a web page usingctrl+Cwon't paste in with ctrl+V. Surely you don't have to type in all those nasty commands and filenames? Relax.ctrl+shift+V pastes into a Gnome terminal; you can also do Middle Button Click on your mouse (both buttons simultaneously
on a two-button mouse) or Right Click and selectPaste from the menu. However, if you want to avoid the mouse and yet paste it, use "Shift+Insert", to paste the command. If you have to copy it from another terminal / webpage, you can use "Ctrl+Insert"
to copy.
Save on typing //节约命令的敲入
(使用已使用过的命令的历史记录可以减少命令字符的输入,从而提高命令的输入速度)
Up Arrow or ctrl+p | Scrolls through the commands you've entered previously. // 使用过的命令 |
Down Arrow or ctrl+n | Takes you back to a more recent command. //使用过的命令 |
Enter | When you have the command you want. //执行命令 |
tab | A very useful feature. It autocompletes any commands or filenames, if there's only one option, or else gives you a list of options. //自动补全命令或文件 |
ctrl+r | Searches for commands you've already typed. When you have entered a very long, complex command and need to repeat it, using this key combination and then typing a portion of the command will search through your command history. When you find it, simply press Enter. //检索使用过的命令 |
History | The history command shows a very long list of commands that you have typed. Each command is displayed next to a number. You can type!x to execute a previously typed command from the list (replace the X with a number). If youhistory output is too long, then use history | less for a scrollable list. //使用过的命令的记录。 |
Change the text //如何快速改变命令行文本
The mouse won't work. Use the Left/Right arrow keys to move around the line.When the cursor is where you want it in the line, typinginserts text - ie it doesn't overtype what's already there.
ctrl+a or Home | Moves the cursor to the start of a line. //光标回到行首 |
ctrl+e or End | Moves the cursor to the end of a line. //光标回到行尾 |
ctrl+b | Moves to the beginning of the previous or current word. //光标到当前词(或前一个)的词首。 |
ctrl+k | Deletes from the current cursor position to the end of the line. //删除光标到行尾的文本 |
ctrl+u | Deletes the whole of the current line. //删除当前命令行的全部文本 |
ctrl+w | Deletes the word before the cursor. // 删除光标前的word |
相关文章推荐
- linux下使用命令更改命令行终端提示符里面的主机名
- [OSX使用技巧] 【教学】Mac OS X下终端的基本命令 [
- Linux入门的最基本的命令: basic command 以及终端使用的快捷方式
- 几个Linux命令及脚本使用中的有趣技巧
- 我使用的几个Linux终端使用技巧
- C语言基础(1.linux终端命令2.gcc过程3.命令行模式和输入模式切换4.命令行一些命令5.函数(三要素)6.基本的C语言代码结构)
- Mac终端使用技巧 或Linux中常用操作命令
- Linux 终端常用基本命令的使用
- 我使用的几个Linux终端使用技巧
- linux 基本终端命令——文件与目录操作
- 常见几个linux基本语法命令
- 新人掌握的五大Linux终端命令的技巧
- 【转】Linux date命令用法和使用技巧(获取今天、昨天、一分钟前等)
- Linux简介及常用命令使用4--linux高级命令与技巧
- linux tomcat命令基本使用
- linux 基本命令使用
- 详解基于Linux下正则表达式(基本正则和扩展正则命令使用实例)
- 最实用的 Linux 命令行使用技巧
- 【Linux】linux常用几个基本命令 小白专区简单易懂
- Linux基本命令使用