您的位置:首页 > 运维架构 > Linux

(笔记)韩顺平linux(视频4-6)学习笔记

2010-12-24 21:07 225 查看
linux的常用命令(2)

pwd 【显示当前工作目录】

cd 【改变目录】

ls 【列出文件和目录】

ls -a 【显示隐藏文件】

ls -l 【显示长列表格式】

ls -al

mkdir 【建立目录】

rmdir 【删除空目录,不为空的话不能删】

注意:

linux的命令很多,每个命令还有很多参数,所以,希望大家多问问google大神。

搜关键字“linux 命令 ls”

点网页快照不要点头标题,不会中毒而且速度更快。

===============================================================

  ls 命令可以说是linux下最常用的命令之一。它有众多的选项,其中有很多是很有用的,你是否熟悉呢?下面列出了 ls 命令的绝大多数选项。

  -a 列出目录下的所有文件,包括以 . 开头的隐含文件。

  -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

  -c 输出文件的 i 节点的修改时间,并以此排序。

  -d 将目录象文件一样显示,而不是显示其下的文件。

  -e 输出时间的全部信息,而不是输出简略信息。

  -f -U 对输出的文件不排序。

  -g 无用。

  -i 输出文件的 i 节点的索引信息。

  -k 以 k 字节的形式表示文件的大小。

  -l 列出文件的详细信息。

  -m 横向输出文件名,并以“,”作分格符。

  -n 用数字的 UID,GID 代替名称。

  -o 显示文件的除组信息外的详细信息。

  -p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

  文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套

  接字(sockets)。

  -q 用?代替不可输出的字符。

  -r 对目录反向排序。

  -s 在每个文件名后输出该文件的大小。

  -t 以时间排序。

  -u 以文件上次被访问的时间排序。

  -x 按列输出,横向排序。

  -A 显示除 “.”和“..”外的所有文件。

  -B 不输出以 “~”结尾的备份文件。

  -C 按列输出,纵向排序。

  -G 输出文件的组的信息。

  -L 列出链接文件名而不是链接到的文件。

  -N 不限制文件长度。

  -Q 把输出的文件名用双引号括起来。

  -R 列出所有子目录下的文件。

  -S 以文件大小排序。

  -X 以文件的扩展名(最后一个 . 后的字符)排序。

  -1 一行只输出一个文件。

  --color=no 不显示彩色文件名

  --help 在标准输出上显示帮助信息。

  --version 在标准输出上输出版本信息并退出。

  只列出子目录

  1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)

  2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

  计算当前目录下的文件数和目录数

  下面命令可以分别计算当前目录下的文件和目录个数:

  # ls -l * |grep "^-"|wc -l ---- to count files

  # ls -l * |grep "^d"|wc -l ----- to count dir

  显示彩色目录列表

  打开/etc/bashrc, 加入如下一行:

  alias ls="ls --color"

  下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:

  1. 蓝色-->目录

  2. 绿色-->可执行文件

  3. 红色-->压缩文件

  4. 浅蓝色-->链接文件

  5. 灰色-->其他文件

  ls -tl --time-style=full-iso sshd

  ls -ctl --time-style=long-iso

==============================================================

按tab键可以将没打完的自动打完。自动补全的功能有点意思!

/home/xiaohong

/home/xiaoming

打/home/xi按tab的话他会提示出/home/xiao

此时如果按h或m键再按tab键的话,会自动补全,如果打错的话,就会鸣音。

如果连按两下的话,他会给出到底有那几个选择

touch 【建立空文件】

cp 【复制命令】

cp -r dir1 dir2 递归复制命令【复制子目录信息】

mv 【移动文件和改文件名】

rm 【删除文件和目录】

rm -rf * 【删除所有内容(包括目录和文件) r 递归 f 强制】

ln 【建立符号链接】

ln -s 【源 目标】

ln -s /etc/inittab inittab 【inittab指向实际文件/etc/inittab】

more 【显示文件内容,带分页】 例:more 文件名

less 【显示文件内容带分页】

grep 【在文本中查询内容】

也就是windows文本编辑器的ctrl+f!关键字

例子:grep -n "shunping" aaa.java

查询结果:

3:asdfasshunping123131

16:asdfasshunping

进一步的例子:

grep -n "shunping" aaa.java > kkk.bak

如果有kkk.bak这个文件,则覆盖;没有,则创建。

重定向命令:

ls -l > a.txt 列表的内容写入文件a.txt中(覆盖写)

ls -al >> aa.txt列表的内容追加到文件aa.txt的末尾

从文件中输入信息database_program < database_data

| 【管道命令】 例:ls -l /etc/ | more

在linux和unix系统中“|”就是管道命令,怎么理解呢?

把上一个命令的结果交给“|”的后面的命令处理。

也就一意味着可能有的时候不仅仅只会用到一个“|”。

 

注意:

在现实生活中,有问题找警察。在linux世界中,有问题问男人。

man【manual的缩写,手册】命令相当于dos下的help

find / -name aaa.java 【从根目录开始按名称查找名为aaa.java的文件】

find 【搜索文件及目录】

在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个

系统中找到特定的文件和目录并不是一件容易的事情。而“find”命令

可以解决上述问题。

1.在特定的目录下搜索并显示指定名称的文件和目录。

find / -name man: 意思是说从根目录开始搜索名称为man的文件或目录

2.搜索一段时间内存取/变更的文件或目录。

find /home -amin -10: 十分钟内存取的文件或目录

find /home -atime -10: 十小时内存取的文件或目录。

find /home -cmin -10: 十分钟内更改过的文件或目录。

find /home -ctime +10: 十小时前更改过的文件或目录。

3.搜索指定大小的文件

find /home -size +10k: 意思是说查找/home目录下大小为10k的文件

上机练习:

1.用root登录,建立用户myredhat,自己设定密码

2.用myredhat登录,在主目录下建立目录test/t11/t1

3.在t1中建立一个文本文件aa,用vi编辑器内容为ls -al

4.改变aa的权限为可执行文件,运行该文件./aa或修改PATH的值,用aa运行

5.删除新建立的目录test/t11/t1

6.删除用户myredhat及其主目录中的内容

7.用vi编写一个Hello.java文件打印出hello,world!用vi编写hello.cpp文件

8.用vi编写一个Count.java文件,可以接受两个数和一个运算符号,并在控制台

输出结果

9.用vi编写一个Count.c文件,可以接受两个数和一个运算符号,并在控制台输出

结果

10.将linux设置成进入到图形界面的

11.重新启动linux或关机

webQQ、 QQ for Linux(以前有一个LumaQQ)

 

文件所有者、所在组和其他组

在linux中每个用户必须属于一个组,不能独立于组外。在linux中每个文件夹

有所有者、所在组、其他组的概念。

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

①所有者:

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者

用【ls -al】命令可以看到文件的所有者

你也可以用【chown 用户名 文件名】来修改该文件的所有者

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

②所在组:

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

用【ls -ahl】命令可以看到文件的所有组

你可以通过【chgrp 组名 文件名】来修改文件所在的组。

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

③其他组

除开文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组

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

④改变用户所在的组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root

的管理权限可以改变某个用户所在的组:

 usermod -g 组名 用户名

你可以用

 usermod -d 目录名 用户名 改变该用户登录的初始目录

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

如何在linux中添加组?

组的添加普通用户是干不了的,只能通过root用户添加!

groupadd police 添加一个叫police的组

groupadd thief 添加一个叫thief的组

查看linux中所有组的信息

执行 vi /etc/group 即可(千万别去改,改坏了就麻烦了)

最好是用cat /etc/group | more去查看(用cat命令的话只能查看而不能修改)

创建用户,并同时指定将该用户分配到哪个组

“useradd -g 组名 用户名”

useradd -g policeman along

useradd -g thief ashuai

查看linux中所有用户信息

vi /etc/passwd

cat /ect/passwd

显示出来的结果:

along:x:503:503::/home/along:/bin/bash

ashuai:x:504:503::/home/ashuai:/bin/bash

x用来表示密码,加密了所以不会显示出来;后面那个503表示其所在组的序号。

/home/along表示该用户所在的目录。

/bin/bash代表该用户所使用的shell解析器

什么叫shell【有点类似于翻译官,将linux命令翻译成内核能够识别的命令】?

人敲了个mkdir命令,机器是不能识别的,只有通过shell解释给内核它才能懂。

权限分成3种:

①r可读,用4表示;

②w可写,用2表示;

③x可执行,用1表示。

执行ls -l命令

显示结果

total 4

-rw-r--r-- 1 along policeman 11 Dec 9 09:32 mytest1.java

各列所表示的意思:

..... .... 所有者 所在组 日期时间

现在重点关注一下“-rw-r--r--”

将其分成四段“①- | ②rw- | ③r-- | ④r--”

①表示文件类型(还可以为d,表示directory,也是一种文件,不过是用来放

其他文件的文件)

②表示文件的所有者对该文件的权限(可读可写)

③表示文件所在组对该文件的权限(只可读)

④表示其他组的用户对该文件的权限(只可读)

尝试着验证一下,用ashuai进到along的目录下去,竟然“Permission denied”!

“who am i”命令可以查看当前登录用户的用户名

“cd ..”表示回到上一级目录

如何修改文件的访问权限呢?

“chmod 777 along” chmod是修改权限的意思,3个7分别表示对所有者,

所在组,其他组的权限进行修改,7=4(r读)+2(w写)+1(x执行),即赋予

所有的权限。

文件和目录的权限

=================================================================

①ls -l中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

第一个字符代表文件(-),目录(d),链接(l)

其余字符每3个一组(rwx)读(r)写(w)执行(x)

第一组rwx:文件拥有者的权限是读、写和执行

第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行

第三组r--:不予文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

1  表示连接的文件数

root  用户

root  组

1213  文件大小(字节)

Feb 2 09:39 最后修改日期

abc  文件名

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

②改变权限的命令:

chmod改变文件或目录的权限

chmod 755 abc: 赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc: 同上,u=用户权限,g=组权限,o=不同组的

其他用户的权限

chmod u-x,g+w,abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc: 给所有用户添加读的权限

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

③改变拥有者(chown)和用户组(chgrp)命令

chown xiaoming abc: 改变abc的拥有者为xiaoming【change owner】

chgrp root abc: 改变abc所属的组为root【change group】

chown root ./abc: 改变abc这个目录的所有者是root

chown -R root ./abc: 改变abc这个目录及其下面所有的文件和目录的所有者

是root

=============================================================

解决乱码的命令

export LC_ALL=zh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息