linux基本指令操作-初级

使用的ubuntu 14.10的linux系统,下载网址:http://mirrors.163.com/ubuntu-releases/14.10/
user:gaopinqiang
password:root


1.ctrl+shift+t进入shell
root@gaoqiang:/# 
root:用户名
gaoqiang:主机名


2.修改用户密码:
在当前用户下,【gaopinqiang用户】
修改gaopinqiang用户密码:
1.【passwd】提示输入当前密码,再输入要修改的密码,对密码的长度有要求
2.【sudo passwd gaopinqiang】直接输入要修改的密码,对密码的长度没有要求.备注一定要加gaopinqiang,否则修改的是root密码。
修改root密码:
1.【sudo passwd root】直接输入要修改的密码,对密码的长度没有要求。
2.【sudo passwd】直接输入要修改的密码,对密码的长度没有要求。

在root用户下:
修改gaopinqiang用户密码:
1.【passwd gaopinqiang】直接输入要修改的密码,对密码的长度没有要求。
修改root密码:
1.【passwd root】直接输入要修改的密码,对密码的长度没有要求。
2.【passwd 】直接输入要修改的密码,对密码的长度没有要求。


3.如果不能su root【使用chsh修改过】,则可以使用【sudo -s】输当前账户密码登录。

4.切换到root用户:
su root

5.切换到普通用户:
su gaopinqiang

6.修改主机名:
1.ubuntu的主机名文件在 /etc/hostname[可以进入etc目录输入 ls | grep host]
2.使用vi将主机名修改,然后reboot就ok
备注:可能有点Linux是修改文件 /etc/sysconfig/network

7.Linux复制的快捷键:
ctrl+shift+c
ctrl+shift+v

8.锁屏的快捷键
ctrl+shift+l


-----------------------------------------------------------------------------------------------------------------------

Linux命令操作:
帮助函数man和--help的区别:
不会的可以使用帮助命令,两种方式
man rm
rm --help
man查询的结果是在程序外面,而help 查询出来的内容在程序里面.
man是在系统安装的时候安装了狠多的文档,可以在系统的目录doc下找到,如果软件有配套的页面,就可以使用man来查找,
而 help是软件编写人员在编写的时候提供了内置的查询参数,查询的参数在程序里面。
1.cal
显示日历,ncal转置的方式显示日历
【cal -m3】显示3月份日历
【cal -y2016】显示2016日历

2.date
【date --help】帮助
【date --version】
【date】:显示当前时间2015年 09月 16日 星期三 21:21:14 CST
【date -d 'now'】【date -d 'tuesday'】【date -d 'next monday'】:2015年 09月 22日 星期二 00:00:00 CST
【date -f date.txt】显示文件中的日期
【date -r install.log】显示文件最后修改的时间
【date -s '2015-09-16 21:40:00'】设置系统时间
【date +%Y-%m-%d】按各种格式显示当前日期时间 2015-09-16

3.sleep
【sleep --version】
【sleep 3】休眠3s
【sleep 1m】休眠1分钟
【date;sleep 1;date】一分钟后再显示

4.time
time命令常用于测量一个命令的运行时间
real    0m5.064s      <== 实际使用时间(real time)
user    0m0.020s     <== 用户态使用时间(the process spent in user mode)
sys     0m0.040s      <== 内核态使用时间(the process spent in kernel mode)
【time find . -name 'test.txt'】查找文件所花的时间

time重定向到文件:
【time find . -name 'test.txt'>1.txt】1.txt的内容是“./test.txt”,不对!
【{ time find . -name "test.txt"; } 2>1.txt】第一种方法,注意空格
【(time find . -name 'test.txt') 2> 1.txt】第二种方法,推荐使用,不需要关注空格

5.users
显示当前的用户,包括图形界面的用户,终端的用户
【users】显示gaopinqiang gaopinqiang gaopinqiang

6.uptime
【uptime】用来查询linux系统负载的
【uptime -V】
22:31:37 up  4:48,  3 users,  load average: 0.01, 0.04, 0.08
1.当前时间  22:31:37
2.系统已运行的时间 4:48
3.前在线用户  3 user
4.平均负载:.01, 0.04, 0.08
最近1分钟、5分钟、15分钟系统的负载

系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。
备注:一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!
当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,
那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重。

7.chfn
【chfn】会进入问答式界面,一直按回车则采用默认
Full Name [qiang]: 
Room Number [6782123]: 
Work Phone [6782123]: 
Home Phone [6782123]: 
Other []: 
【chfn -f qiang】修改Full Name
【chfn -r 6782123】修改Room Number
【chfn -w 6782123】修改Work Phone
【chfn -h 6782123】修改Home Phone

8.chsh
【echo $SHELL】显示当前shell种类
【cat /etc/shells】查看所有的shell
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
【chsh】输入密码,再输入需要更改的shell,例如/bin/sh
【chsh -s /bin/sh】gaopinqiang账户其实修改的是/etc/passwd文件的最后一行。可以使用【cat /etc/passwd】查看。
"gaopinqiang:x:1000:1000:gaopinqiang,,,:/home/gaopinqiang:/bin/bash"

root账户其实修改的是/etc/passwd文件的第一行。可以使用【cat /etc/passwd】查看。
"root:x:0:0:qiang,6782123,6782123,6782123,address is china jiangxi jiujiang:/root:/bin/bash"




遇到一个问题:
使用chsh命令修改后,不能进入root了。
1.在root用户下,使用【chsh】,输入密码后,再输入需要改变的shell "shell"
2.【su gaopinqiang】切换到gaopinqiang用户,再【su root】提示"Cannot execute shell: No such file or directory"
不能进root用户了
解决的办法:
修改/etc/passwd文件
1.可以使用【sudo -s】,输入当前账户密码,直接登录root
2.【cat /etc/passwd】发现文件"/etc/passwd"第一行被修改了“root:x:0:0:qiang,6782123,6782123,6782123,address is china jiangxi jiujiang:/root:shell”
其中最后面的shell就是改过的。本来应该是/bin/bash
3.使用【sudo -s】输入当前账户密码,登录root后,vi修改文件passwd最后一行为/bin/bash。备注:因为其他用户没有写的权限。
4.再次使用【su gaopinqiang】,切换到gaopinqiang账户,【su root】输入root账户密码即可登录root了。


9.finger
第一次使用提示:The program 'finger' is currently not installed. You can install it by typing:apt-get install finger
【apt-get install finger】安装finger
【finger】输出如下:
Login        Name          Tty      Idle  Login Time   Office     Office Phone
gaopinqiang  gaopinqiang  *:0             Sep 15 23:05 (:0)
gaopinqiang  gaopinqiang   pts/5          Sep 17 00:28 (:0)
【finger root】查看root信息,输出如下:【备注:这个信息可以使用指令chfn修改的】
Login: root           Name: qiang
Directory: /root                     Shell: /bin/bash
Office: 6782123, 678-2123 Home Phone: 678-2123
Never logged in.
No mail.
No Plan.



10.last
该命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:show listing of last logged in users
指令所在路径:/usr/bin/last
【last】
gaopinqi pts/9        :0               Thu Sep 17 21:41   still logged in   
gaopinqi pts/9        :0               Thu Sep 17 21:31 - 21:32  (00:00)  
  第一列:用户名
  第二列:终端位置。pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户.tty (teletypewriter) 
意味着直接连接到计算机或者本地连接的用户
  第三列:登录ip或者内核 。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。
除了重启活动,内核版本会显示在状态中。
  第四列:开始时间
  第五列:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
  第六列:持续时间

【last -f test.txt】显示test.txt文件最后修改时间。
test.txt begins Thu Sep 17 21:54:02 2015
【last -10】显示10条记录
【last -w】显示用户全名
【last -t 20150916000000】显示该日期之前的信息

11.login
login的作用是登录系统,它的使用权限是所有用户。
-p:通知login保持现在的环境参数。
-h:用来向远程登录的之间传输用户名。

当前用户gaopinqiang
【login gaopinqiang】提示错误
login: Cannot possibly work without effective root
切换到root用户【su - root】
【login gaopinqiang】输入gaopinqiang用户的密码,即可登录系统,提示如下:
Last login: 四  9月 17 22:46:46 CST 2015 on pts/5
Welcome to Ubuntu 14.10 (GNU/Linux 3.16.0-23-generic i686)


* Documentation:  https://help.ubuntu.com/


Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife


New release '15.04' available.
Run 'do-release-upgrade' to upgrade to it.
【exit】会logout
gaopinqiang@gaoqiang:~$ exit
logout


12.passwd
修改用户的密码,使用的方法上面有介绍
一些参数的使用可以使用【man passwd】或【passwd --help】
root用户:
【passwd -l gaopinqiang】锁定gaopinqiang用户不能修改密码
root@gaoqiang:/home/gaopinqiang# passwd -l gaopinqiang
passwd: password expiry information changed.
【passwd -u gaopinqiang】解除锁定gaopinqiang用户
root@gaoqiang:/home/gaopinqiang# passwd -u gaopinqiang
passwd: password expiry information changed.


13.who
显示目前有那些用户登入系统
【who】
root@gaoqiang:/# who
gaopinqiang :0           2015-09-15 23:05 (:0)图形界面
gaopinqiang pts/5        2015-09-17 23:11第一个虚拟终端
如果在打开新的终端会增加,pts/5表示虚拟终端
【who -a】显示所有信息
【who -b】 显示上一次重新启动的时间和日期 
gaopinqiang@gaoqiang:~$ who -b
system boot  2015-09-15 23:07
【who -H】为每一列添加标题
【who -q】对当前登录用户数量计数
gaopinqiang@gaoqiang:~$ who -q
gaopinqiang gaopinqiang gaopinqiang
# users=3


备注:这个命令和【w】命令很像

14.cat 
cat命令的用途是连接文件或标准输入并打印。
【cat test.txt】显示文件的内容
【cat -n test.txt】加上行号
【cat file.txt test.txt > com.txt】合并文件

备注:【tac】将cat反写,可以从尾到头输出
【tac test.txt】
root@gaoqiang:/test# tac test.txt
wtmp begins Mon Sep 14 23:50:22 2015


gaopinqi pts/9        :0               Thu Sep 17 21:41   still logged in   
root@gaoqiang:/test# 



15.cd
切换目录
【cd test】进入test文件夹
【cd /】进入根目录
【cd ..】返回上一级目录


16.chmod
用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

文件的权限有十位:
-rw-r--r--  1 root root   139  9月 18 20:45 com.txt
备注:第一个字符指定了文件类型,从第二个字符开始到第十个共9个字符,3个字符一组,分别代表[当前的用户(u),当前的群组(g),当前用户或群组之外的用户或者群组(o)]
r代表只读,w代表写,x代表可执行。


权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组


权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限 

r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。 

字符设定法:
语法:chmod [who] [+ | - | =] [mode] 文件名
【chmod a+x log2012.log】即设定文件log2012.log的属性为:文件属主(u) 增加执行权限;与文件属主同组用户(g) 增加执行权限;其他用户(o) 增加执行权限
【chmod ug+w,o-x log2012.log】即设定文件text的属性为:文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o) 删除执行权限
【chmod a-x log2012.log】删除所有用户的可执行权限
【chmod -R u+x test4】递归地给test4目录下所有文件和子目录的属主分配权限

数字设定法:推荐使用
语法chmod [mode] 文件名
【chmod 777】最高权限
【chmod 444】只读权限




17.cp
cp命令用来复制文件或者目录
【cp test.txt /test/】将文件test复制到文件夹/test中
具体的参数可以使用帮助【man cp】



18.cut
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
主要参数
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f  :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。

【cut -b 1 file.txt】file文件每一行的第一个字符输出到屏幕
【who|cut -b 3】提取每一行的第3个字节
root@gaoqiang:/test# who
gaopinqiang :0           2015-09-15 23:05 (:0)
gaopinqiang pts/5        2015-09-17 23:20 (:0)
gaopinqiang pts/9        2015-09-17 23:21 (:0)
root@gaoqiang:/test# who |cut -b 3
o
o
o
【who |cut -b 1-11】:
root@gaoqiang:/test# who |cut -b 1-11
gaopinqiang
【cat file.txt |cut -d . -f1】查看文件file.txt内容,以(.)分割,取第一部分
root@gaoqiang:/test# cat file.txt |cut -d . -f1
total 32
drwxr-xr-x  2 root root  4096  9月 18 21:57

备注:cut只擅长处理“以一个字符间隔”的文本内容




19.find
查找文件
用.来表示当前目录,用/来表示系统根目录。
【find . -name 'file*'】查找文件file开头的,在当前目录下
【find   /home   -size   +512k】查大于512k的文件
【find   /home   -size   -512k】查小于512k的文件
【find . -size -200c】查小于200b的文件


20.less
对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown]
【less log2013.log】查看文件
【ps -ef |less】ps查看进程信息并通过less分页显示
【history | less】查看命令历史使用记录并通过less分页显示
【Less log2013.log log2014.log】浏览多个文件 


21.ln
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,
用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,
然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 
硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,
而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

【ln test.txt link】硬链接,给文件test创建硬链接link,操作link和test.txt是一样的
【ln -s test.txt slink】软链接
root@gaoqiang:/test# ll |grep link
-rw-r--r--  2 root root   115  9月 17 21:54 link
lrwxrwxrwx  1 root root     8  9月 18 22:52 slink -> test.txt

【ln -s testfolder linkfolder】文件夹只能建软链接,为testfolder文件夹建软链接
root@gaoqiang:/test# ll|grep link
-rw-r--r--  1 root root   115  9月 17 21:54 link
lrwxrwxrwx  1 root root    10  9月 18 22:55 linkfolder -> testfolder/
lrwxrwxrwx  1 root root     8  9月 18 22:52 slink -> test.txt




备注:源文件被删除后,并没有影响硬链接文件;软链接文件在centos系统下不断的闪烁,提示源文件已经不存在


22.locate
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,
之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新。updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
【locate pwd】查找和pwd相关的所有文件
【locate /etc/sh】 搜索etc目录下所有以sh开头的文件
root@gaoqiang:/test# locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells


23.ls
用来列出目录下的文件
【ls -a】列出隐藏文件
【ls -l】列出文件详细信息,和【ll】相同
【ls -t】按时间排序
【ls -al |grep key】在列表中查找key字段显示
【ls -al |less】

备注:参数选项可以自由组合


24.more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读
【more log2012.log】分屏显示文件
【more +3 log2012.log】显示文件中从第3行起的内容
【more -5 log2012.log】设定每屏显示行数


25.mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
【mv test.log test1.txt】文件改名
【mv test1.txt test3】移动文件
【mv log1.txt log2.txt log3.txt test3】将文件log1.txt,log2.txt,log3.txt移动到目录test3中。
【mv -f log3.txt log2.txt】将文件file1改名为file2,即使file2存在,也是直接覆盖掉。
【mv * ../】移动当前文件夹下的所有文件到上一级目录




26.rm
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。
对于链接文件,只是删除了链接,原有文件均保持不变。

【rm 文件名】删除文件file,系统会先询问是否删除。
【rm -f log1.log】强行删除file,系统不再提示
【rm -r test1】将 test1子目录及子目录中所有档案删除


27.rmdir
rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。
【rmdir doc】rmdir 不能删除非空目录



28.touch
【touch log2012.log】创建不存在的文件
【touch -r log.log log2012.log】更新log.log的时间和log2012.log时间戳相同
【touch -t 201411142234.50 log.log】设定文件的时间戳














  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值