红联Linux门户
Linux帮助

Ubuntu Linux命令行快速入门

发布时间:2014-10-08 09:32:39来源:linux网站作者:lqhbupt

(1)如何进入终端/命令行

Ubuntu下一种非常简易的进入命令行的方法是,就是通过桌面上的按钮或应用程序中的“终端”进入终端/命令行。这样会打开gnome-terminal。在这种情况下,你可以在运行终端的同时保留在GUI图形界面上。这是大部分桌面用户进入终端的方法。

另外一个进入终端的方法是,通过Ctrl+Alt+F1组合键,进入全终端系统,没有显示图形界面。当切换到全终端系统后,屏幕上会出现以下两行:

Ubuntu12.04 LTS cindy-ThinkPad-X200 tty1

cindy-ThinkPad-X200 login:

tty1是Ubuntu提供的六个虚拟控制台的其中之一。你可以通过Ctrl+Alt+(F1,F2,F3,F4,F5,F6)进行六个虚拟控制台之间的切换,可以通过Ctrl+Alt+F7回到图形界面。当你进入虚拟控制台之后,你也可以选择Alt+->或者Alt+<-进行虚拟控制台之间的切换。

以上两种进入控制台的方法都可行。有细微的差别,以后我们会提到。

当然也有其他进入终端的方法。比如你可以重启进入终端,或者通过telnet/ssh命令链接到你的系统。

在虚拟控制台界面,先输入你的用户名,然后会提示输入密码,输入密码后按回车键,即可登陆终端。需要注意的是,密码不回显,为了安全起见。这里需要提到一个非常重要的命令pwd。当你在linux的目录中来回逛的时候,可能都不知道你目前处于文件系统的哪个位置。这时,你可以键入pwd,系统将会返回你的当前目录。

当你login登陆进去后,会看到类似于以下的显示:

linux @linux:~$

后面还有闪动的下划线。这里简单解释一下:cindy是用户名,cindy-ThinkPad-X200是系统。当前目录为用户的home目录。也就是home/cindy目录。


(2)如何退出终端

退出终端的方法有:Ctrl+D or exit 命令or logout命令。


(3)如何远程登陆Linux终端

最安全有效的远程Linux电脑的方式是通过Secure Shell Client (ssh),命令如下:

ssh 192.168.12.34


(4)根用户(root account) 普通用户(regular-user account)和超级用户(super-user account)

在一些Linux系统中,有一个默认帐号root用户,命令行提示符为“#”。当你处于root用户使用状态时,可以对系统进行任何修改。Ubuntu中的默认设置为,在终端执行命令时为普通用户,命令提示符为“$”,当需要执行一些可能造成不可修复更改的系统命令时,在命令行前加sudo给予该普通账户以超级用户的权限。然后被提示输入超级用户密码,即可执行诸如安装程序,卸载程序等命令。

当然,如果想在Ubuntu系统中使用根用户帐号有两种方法:

第一种是启动根用户(root account),在终端输入sudo passwd,然后提示输入根用户的用户名和密码。根用户(root account)被启用。

第二种方法是不启用根用户(root account),而是在当前用户下进入命令行根提示符。方法是在终端输入sudo-i,然后输入密码。这个时候即可在终端看到根用户提示符(#)。


(5)Linux文件系统简介

基本Linux目录

名字 描述

/ 根目录

/bin 基本命令

/boot Linux内核,重启载入文件

/dev 设备文件

/etc 系统配置文件

/home 用户目录

/lib 共享库,内核模块

/lost+found 系统恢复文件目录

/media 可移动媒介的挂载点,比如DVD,软盘等

/mnt 本地/远程文件系统的常规挂载点

/opt Add-on软件包

/proc 内核信息,进程控制

/root 超级用户(root)目录

/sbin 系统命令

/srv 系统服务信息

/sys 内核使用设备的实时信息

/tmp 临时文件

/usr 应用软件目录

/var 变量数据,日志等


(6)对目录的常规操作
a.列出目录中所有的内容的命令:ls

Linux中的隐藏文件的文件名以字符句号(.)开头,通常ls命令不会列出目录下的隐藏文件。

列出当前目录下的所有文件及目录(包括隐藏的)的命令为:ls -a

列出当前目录下的文件及目录的详细信息的命令为:ls -al

-rw-rw-r-- 1 cindy cindy 0 七月2319:28 file.txt

列出当前目录下所有子目录的内容的命令为:ls -R

将当前目录下所有子目录的内容保存到文件的命令为:ls -laR >listing.txt

可以使用命令less listing.txt去浏览文件内容,在浏览过程中可使用上下左右方向键和空格键导航。使用q退出浏览过程。

b.更改当前目录的命令:cd

cd somedir

该命令在当前目录下寻找名为somedir的目录,并进入到somedir目录下。

也可以使用详细的绝对路径,例如:

cd /home/cindy/stuff/somedir

导航到父目录的命令为:

cd ..

从Linux系统下的任何目录回到home目录的命令为:事实上是回到了home/cindy目录。

cd

你也可以使用系统环境变量$HOME得到同样的结果:

cd $HOME

也可以使用~达到同样的效果

cd ~

c.使用pwd查询当前目录


(7)与文件权限的相关操作
在Linux(Unix)下,文件系统中的一切,都被成为是一个文件,包括目录,文件,数据文件,二进制文件,可执行程序,甚至输入输出设备。而每一个文件都有对应的权限。权限作为文件的属性,表示了谁可以读,写或者执行这个文件。

可以使用umask命令查看用户创建的文件的默认权限,返回值为数字符号。

或者可以用touch命令来创建一个文件,再用ls -l来查看文件的权限信息。

touch file

ls -l file

返回结果为:

-rw-rw-r--1 cindy cindy 0 七月2319:56 file

第一个字符“-”表示的是文件类型:其中“-”表示文件为plain file,“d”表示目录,”c“表示字符设备(如。dev/ttyS0),”b“表示块设备(比如/dev/sda)。

第2个字符到第10个字符,这9个字符,一共3个一组,表示了相应于owner, group,all others的读/写/执行权限。

数字”1“表示了文件的链接个数。

第一个cindy表示的是该文件的”owner”,拥有这个文件的所有者;默认情况下是文件的创造者,也可以通过chown命令来修改

第二个cindy表示的是该文件的“group”,表示的是这个group中的用户对文件的相应操作;默认情况下是文件创造者所属的主group,也可以通过chgrp命令来修改

数字”0“表示的是文件的大小

“七月2319:56 ”文件创造时间或上次修改时间

"file"表示的是文件名

除了用字符"rwx"来表示文件对于owner,group,others的读/写/执行权限外,还可以使用八进制的数字来表示:4表示读权限,2表示写权限,1表示执行权限。比如数字串"664"表示了read+wirte or 4+2,read+write=4+2,read=4。

查看新建目录的默认权限

mkdir directory

ls -ld directory (其中-d表示显示目录自身的信息而不是目录中元素的信息)

返回结果为:

drwxrwxr-x2 cindy cindy 4096 七月2320:32 directory

说明owner和group可以读写目录,并且列出目录中的内容(因为execute权限),而其他用户只能读写目录,而不能列出目录中的内容。注意目录需要execute权限才能浏览其中的内容。

root用户和拥有超级用户权限使用sudo命令的用户,可以操作Linux系统中任意的目录和文件。

chmod命令修改文件权限

chmod命令主要用于修改某文件或目录对于其他用户而言的读/写/执行权限。主要参数有:

u:用于修改对于user(owner)的权限

g:用与修改对于group的权限

o:用于修改对于group外其他用户的权限

a:用于修改对所有用户的权限

r:读权限

w:写权限

x:执行权限

+:增加权限

-:去除权限

例子:建立一个文件readme.txt。并查看它的默认权限(默认权限规定在/etc/bashrc的umask设置中)

touch readme.txt

ls -l readme.txt

返回结果为:

-rw-rw-r--1 cindy cindy 0 七月2321:09 readme.txt

我们可以通过以下命令去除所有的写权限并显示返回结果

chmod a-w readme.txt

ls -l readme.txt

返回结果为:

-r--r--r--1 cindy cindy 0 七月2321:09 readme.txt

chmod的参数也可以是八进制数字串。如下例:

chmod 600 readme.txt

ls -l readme.txt

返回结果为:

-rw-------1 cindy cindy 0 七月2321:09 readme.txt

chgrp命令更改文件所属群组

chgrp wheel filename

chown命令更改文件所属用户

chown cindy filename

chown命令同时更改文件所属群组和用户

chown cindy:wheel filename


(8)对文件的常规操作
touch命令创建空白文件

在当前目录创建文件filename:touch filename

在目录/home/cindy/randondirectory创建文件newfile:

touch /home/cindy/randondirectory/newfile

touch ~/randondirectory/newfile

mkdir命令创建空白目录,参数-p,可以同时创建多级目录。

rmdir删除空白目录

rm命令删除文件及文件夹

rm命令不能用于删除空白目录,rm -R 可以删除目录及目录中内容。

mv命令移动和重命名文件

cp命令复制文件

cat命令显示文件内容(适合于短文件)

less命令显示文件内容(适合于长文件)

less结果为按页显示,一次显示一页,可以用上下箭头/上下翻页键/导航。使用q退出浏览。


(9)超级用户
创建用户sunny命令:

sudo useradd sunny

为用户sunny配置初始密码:

sudo passwd sunny

创建用户之后可以在文件etc/passwd中找到新用户sunny的entry:

sunny:x:1001:1001::/home/sunny:/bin/sh

以下命令可以查看useradd默认配置:

useradd -D

删除用户

sudo userdel -r sunny

如果不使用-r选项,需要用户手动删除home/sunny目录,以及val/spool/mail队列。

关闭Linux系统

sudo shutdown -h now

sudo shutdown -h 0

halt

重启Linux系统

sudo shutdown -r now

sudo shutdown -r 0

reboot

阅读说明文档命令apropos或者man或者info。

查找命令所在位置:whereis


(10)常用命令
管理用户和群组

chage,chfn, chsh, edquota, gpasswd, groupadd, groupdel, groupmod, groups,mkpasswd, newgrp, newusers, passwd, umask, useradd, userdel, usermod

管理文件和文件系统

cat,cd, chattr, chmod, chown, compress, cp, dd, fdisk, find, gzip, ln,mkdir, mksfs, mount, mv, rm, rmdir, rpm, sort, swapon, swapoff, tar,touch, umount, uncompress, uniq, unzip, zip

管理运行程序

bg,fg, kill, killall, nice, ps, pstree, renice, top, watch

获取信息

apropos,cal, cat, cmp, date, diff, df, dir, dmesg, du, env, file, free, grep,head, info, last, less, locate, ls, lsattr, man, more, pinfo, ps,pwd, stat, strings, tac, tail, top, uname, uptime, vdir, vmstat, w,wc, whatis, whereis, which, who, whoami

控制台文本编辑

ed,jed, joe, mcedit, nano, red, sed, vim

控制台网络命令

bing,elm, ftp, host, hostname, ifconfig, links, lynx, mail, mutt, ncftp,netconfig, netstat, pine, ping, pump, rdate, route, scp, sftp, ssh,tcpdump, traceroute, whois, wire-test