当前位置: 首页 > news >正文

命令行快速入门

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

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

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

Ubuntu12.04 LTS cindy-ThinkPad-X200 tty1

cindy-ThinkPad-X200 login:

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

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

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

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

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

cindy@cindy-ThinkPad-X200:~$

后面还有闪动的下划线。这里简单解释一下: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,然后输入密码。这个时候即可在终端看到根用户提示符(#)。

5Linux文件系统简介

基本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)与文件权限的相关操作

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

可以使用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+2read+write=4+2read=4

查看新建目录的默认权限

mkdir directory

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

返回结果为:

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

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

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

chmod命令修改文件权限

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

u:用于修改对于userowner)的权限

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

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

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

r:读权限

w:写权限

x:执行权限

+:增加权限

-:去除权限

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

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命令创建空白文件

在当前目录创建文件filenametouch 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中找到新用户sunnyentry

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


相关文章:

  • 命令行快速进阶(一)常用命令行
  • 命令行快速进阶(二)Redirection:通过文件来输入/输出
  • 命令行快速进阶(三)将命令结合使用combining commands
  • 命令行快速进阶(四)使用环境变量
  • 命令行快速进阶(五)Ubuntu下常用文本编辑器
  • 命令行快速进阶(六)Ubuntu中对压缩文件的操作和处理
  • 命令行快速进阶(七)通过byobu使用多个命令终端
  • Ubuntu中的用户管理(一)用户账户
  • Ubuntu中的用户管理(二)群组管理
  • Ubuntu中的用户管理(三)用户管理
  • Ubuntu中的用户管理(四)密码管理
  • Ubuntu中的用户管理(五)授予常规用户系统管理员权限
  • Ubuntu中的用户管理(六)硬盘配额
  • Ubuntu中的用户管理(七)相关Ubuntu命令
  • Windows下Ubuntu 12.04 LTS 的安装(双系统使用EasyBCD)
  • (三)从jvm层面了解线程的启动和停止
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【个人向】《HTTP图解》阅后小结
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • create-react-app项目添加less配置
  • CSS 专业技巧
  • flutter的key在widget list的作用以及必要性
  • HomeBrew常规使用教程
  • js中forEach回调同异步问题
  • Spark RDD学习: aggregate函数
  • Spring声明式事务管理之一:五大属性分析
  • 大快搜索数据爬虫技术实例安装教学篇
  • 关于字符编码你应该知道的事情
  • 两列自适应布局方案整理
  • 漂亮刷新控件-iOS
  • 深入浏览器事件循环的本质
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 双管齐下,VMware的容器新战略
  • 学习JavaScript数据结构与算法 — 树
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​2020 年大前端技术趋势解读
  • ​2021半年盘点,不想你错过的重磅新书
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .net core 6 redis操作类
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET学习全景图
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [APIO2012] 派遣 dispatching
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [bzoj2957]楼房重建
  • [Codeforces] probabilities (R1600) Part.1
  • [Deep Learning] 神经网络基础
  • [hibernate]基本值类型映射之日期类型
  • [JavaEE] 线程与进程的区别详解
  • [leetcode 数位计算]2520. 统计能整除数字的位数