1. 终端的最基本操作
ls # 显示当前文件夹下的内容
-a -l -R -d #所有文件 /详细信息/递归的显示所有目录和文件/不递归
cd .. / - # 进入上/上一次 文件夹
mkdir cp rm rmdir rm -r vim chmod pwd mv # 创建文件夹 复制/删除/删除空文件夹/删除文件夹 编辑/改变权限/查看当前目录/移动文件
mv 文件名 新文件名 #重命名
其中的一些介绍
ls -l #显示的内容意思
这是第一列的意义: -l连接文件
-d目录文件
-普通文件 文本文件和二进制文件
[bcp]特殊文件(即b或c或p)
这是第二列到第十列的意思: 读写执行权限
- rwx rwx rwx 2 root root 1234 Jun 26 11:21 test.txt
1 2 3 4 5 6 7 8 9 10
1. 文件的类型
2. 拥有者对该文件的权限(read write execute)
3. 群组对该文件的权限
4. 其他人对该文件的权限
5. 与该文件[夹]的连接数目
6. 拥有者的用户名
7. 群组的名称
8. 文件大小
9. 创建日期
10. 文件[夹]名称
2. 改变权限的命令:
1. chmod [-R] 750 filename/filelist 则是 111 101 000 改变各个用户的权限。如: chmod 755 /usr/local/* 将该文件夹下的文件赋予755权限
2. chmod [-R] [ugoa] [+-=] [rwx] filename/filelist
3.进入root用户,如果遇到问题,那么重置其密码就ok拉。
$ su - root
Password:
su: Authentication failure
Sorry.
这时候输入
$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
4.关机 重启机器
-h 关机
-r 重启
-t 过几秒后关机
shutdown -h now #关机
shutdown -h +10 #10分钟后关机
shutdown -h 10:12 #在10:12关机
5.压缩和解压缩
tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
tar -cvf benet.tar #
tar -xvf benet.tar
tar -zcvf benet.tar.gz #
tar -zxvf benet.tar.gz #
如 tar -zcvf desktop.tar.gz Desktop/ #当前在Desktop目录下,在这里使用了相对路径
(更多的参数查看man 或者 info)
6. 一些文件目录的介绍
/dev 目录下存放的是系统的设备文件
/etc 配置文件的目录
/etc/profile 配置环境变量的文件
/etc/inittab 是系统启动时需要加载的文件 #这是RedHat或者Debian中的配置文件
0停止系统
6重启系统
3文字界面启动
5图形界面启动
1单用户模式启动
/lib 系统库文件 /lib/modules/2.6.24-24-generic/kernel/drivers驱动模块
/usr/lib 应用程序使用的库
7.Linux下一些重要的命令
在Linux下,有which, whereis,locate,find查找文件的命令。
(1) which #which是基于PATH环境变量来查询的,可以用于查询可执行文件
[root@NetFPGA11 Desktop]# which passwd
/usr/bin/passwd
[root@NetFPGA11 Desktop]#
(2) whereis [-bmsu]
-b 只查找二进制文件
-m 只找在说明文件manual路径下的文件
-s 只找source源文件
-u 没有说明文档的文件
[root@NetFPGA11 Desktop]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz
[root@NetFPGA11 Desktop]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd
[root@NetFPGA11 Desktop]#
(3)locate [目录名称]
locate查找速度要远快于find命令,因为locate是基于数据库的查询。这个命令会将目录或者名称中包含要查找名称的所有文件全部列出。但是这要根据系统数据库的更新有关。如果希望数据库马上更新,则执行updatedb来进行。需要注意的是locate不支持正则表达式。
如:
[root@NetFPGA11 Desktop]# locate bing.h
/root/Desktop/new files/bing.h
/root/ns-allinone-2.34/NS_234/ns-2.34/apps/bing.h
/root/ns-allinone-2.34/ns-2.34/apps/bing.h
[root@NetFPGA11 Desktop]# locate root
。。。。(非常多的内容)
(4)find
通过man命令查看find来找到find的参数,格式为:
find [路径] [参数]。列举几个比较常用的如下:
-atime n #将n*24小时内被访问(access)的文件[夹]列出
-ctime n #将n*24小时内被创建、改变(create)的文件[夹]列出
-mtime n #将n*24小时内被修改(modify)的文件[夹]列出
-newer file #将比file文件还要新的文件列出
-gid n #将gid为n的文件[夹]列出
-uid n #将uid为n的文件[夹]列出
-group name #将群组为name的文件[夹]列出
-user name #将g用户名为name的文件[夹]列出
-name file #根据名字来查找(支持正则表达式)
-type type(其中常用的有 b二进制 d目录 l链接)
8.管道问题
管道命令是用 | 来作为标志符。下面介绍几个常用的管道配合命令
(1)wc
wc [-lmw]
-l 多少行
-m 多少字符
-w 多少字
cat /etc/passwd | wc -l
(2)grep
(3)
(4)
(5)
(6)
(7)
9.常识
(1)tar unix打包
rpm RedHat公司
dpkg Debian提供
(2)man [command] #用来查看命令说明
info [command] #用来查看命令说明
(3)ps -A #查看当前进程
kill 进程号 #杀掉进程
(4)用户组类型 : u创建者 g组用户 o其他用户 a所有用户
(5)scp命令(如果有自己的服务器的话)
scp linux.zip aaa@210.30.12.12:~/ #将当前文件夹下的linux.zip文件上传到根目录
scp aaa@210.30.12.12:~/linux.zip #将根目录下的linux.zip文件下载到当前文件夹
(6)查看空间大小
fdisk -l(查看硬盘的空间)
df -h (查看文件的分配情况及大小分布)
fsck (检查硬盘 当系统非正常关机的时候使用)
(7)
ifconfig #端口配置 ip地址等
netstat #网络连接状态
(8)
sudo rmmod pcspkr #去掉linux的烦人的蜂鸣
10. 重定向
三种输出输入状况:
0标准输入,<
1标准输出 1>(1可省略)
2错误输出 2>
> #将内容重定向到另一个地方,是覆盖掉原来的内容
>>#将内容重定向到另一个地方,是附加在后面
2>#将错误信息重定向到另一个地方
< #重定向输入
如ls -al 1>list.txt 2>&1 #将错误信息和正确信息都输入到list.txt中
ls -al 1> list.txt 2>/dev/null#将错误信息丢弃,将正确信息重定向到list.txt
11. Linux下的正则表达式
^ 开始
$ 结束
? 单个字符
* 随意任意几个
\ 转义符
[list] 列表中的一个字符
[range] 列表范围中的一个字符
[^list] 非[list]字符
[^range] 非[range]字符
\{n\} 正好匹配n次
\{m,n\} 匹配m-n次
12.shell 脚本基础
bash **.sh 或者 ./**.sh #这样是执行shell脚本
echo "hello world"
"#“这是注释符号
-n #不换行输出 如:echo -n "hello world"
export #可以定义全局变量
expr 4 + 5 #求值算术表达式 4和5之间有空格的 或者如下
$((expression))
read #读入用户的输入
test [] #条件判断
exit #退出shell脚本
-eq ne gt ge lt le #等于 不等于 大于 大于等于 小于 小于等于
=: !=: -z -n #字符串测试 等于 不等于 长度为0 长度不为0
if elif else fi
case ... esac ;; #是以;;结束每个case的
* #通配符 如:
case $choice in
1) ...;;
2) ...;;
3) ...;;
*) ...;;
#文件测试命令如下:
-e #文件存在则为真
-r #文件存在且可读则为真
-w #文件存在且可写则为真
-x #文件存在且可执行则为真
-s #文件存在且至少有一个字符则为真
-d #文件存在且为目录则为真
-f #文件存在且为普通文件则为真
-c #文件存在且为字符型特殊文件则为真
-b #文件存在且为块特殊文件则为真
-a 和 -o 或 !非
while语句:
while <条件>
do
<命令>
done
until语句:
until <条件> #先执行,然后判断条件
for语句:
for variable_name in <list_of_values>
do
...
done
break #如c中的一样
continue#如c中的一样
wc tempfile & #wc 用来计算字符数量 &在后台执行
ps #显示进行信息
kill #杀掉进程
time #用来计算时间的,如: time find /etc iname "passwd" 2>/dev/null,计算find的时间并将错误信息放到null中
(|) #通过管道来执行unix和linux命令,如:
ls -l | more #分页显示当前文件夹下的详细信息
date #显示日期时间
env #显示环境变量
#shell的语言可以直接在终端使用,如 echo等
`` #是执行命令,如,要在终端输入命令显示日期时间的话,可以这样:
echo "The date is `date`"
13.用来查看文件的内容
cat #从第一行到最后一行显示
tac #从最后一行到第一行显示
more#以可操作的方式显示内容,但不能向前翻页
less#以可操作的方式显示内容,能向前翻页
head [-n number]#显示前几行
tail [-n number]#显示后己行
nl #显示的时候显示行号。等于cat -n
od #用于读取非ASCII数据文件,例如二进制文件。
14. 时间的一些操作
date 用来显示时间
cal 用来显示日期
使用man date 或者 man cal可以查看命令参数的要求。列举几例如下:
[root@NetFPGA11 Desktop]# date +%Y-%m-%d\ %H:%M:%S
2010-09-24 09:49:49
[root@NetFPGA11 Desktop]# cal 2 1988
February 1988
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29
15.Linux的用户群组概念非常重要,这对于文件管理来说,提供了极大的便利。
useradd username #增加用户 /etc/passwd普通用户可以读
passwd username #增加密码 /etc/shadow超级用户可以读
userdel username #删除用户
-f This option forces the removal of the user, even if she is still logged in.
-r Files in the user’s home directory will be removed along with the home directory itself and the user’s mail spool.
groupadd [-g gid] [-r]#增加群组
-g :后面接某个特定的 GID ,用来直接给予某个 GID ~
-r :建立系统群组啦!与 /etc/login.defs 内的 GID_MIN 有关。
groupdel [groupname]#删除群组
su是在用户间切换,可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户。
如果当前是root用户,那么切换成普通用户test用以下命令:
su - test
如果要切换回root用户,那么用以下命令:
su 或 su -
用户名root可以省略不写。
切换回root用户时要输入root密码,很烦。我一般直接输入exit命令来切换回root用户,这样就不用输入密码。
下面是改变文件或者目录所在的群组或者拥有者。(chown可以包含chgrp)
chgrp 群组名称 文件或目录
chown [-R] 帐号名称 文件或目录
chown [-r] 帐号名称:群组名称 文件或目录
如:
[root@NetFPGA11 ~]# ls -l paul.txt
-rw-r--r-- 1 root root 40 09-24 10:21 paul.txt
[root@NetFPGA11 ~]# chown paul:test paul.txt
[root@NetFPGA11 ~]# ls -l paul.txt
-rw-r--r-- 1 paul test 40 09-24 10:21 paul.txt
(更加详细的内容 查看man 或者 info)
16.建立快捷方式
在Linux下,连接类似于Windows下的快捷方式,但Linux下的连接分为硬连接和符号连接两种。
在Linux下,系统要读取某个文件时,先读取inode table,然后根据信息到inode连接到的block块中去找文件。而硬连接实际上是又建立了一个inode表项。因此,Linux硬连接有两个限制:
(1) 不能跨文件系统
(2) 不能链接目录(因为目录只占用inode表项,不占有Block)
ln [-s] [源文件] [目标文件](如果没有-s,那么就是硬连接)
如:
[root@NetFPGA11 Desktop]# ln -s yuanbo/path path.ln
[root@NetFPGA11 Desktop]# ln yuanbo/path path.d
[root@NetFPGA11 Desktop]# ls -l path*
-rw-r--r-- 2 root root 324 09-08 16:26 path.d
lrwxrwxrwx 1 root root 11 09-24 11:06 path.ln -> yuanbo/path
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
分享到:
相关推荐
linux基本操作linux基本操作linux基本操作linux基本操作linux基本操作linux基本操作linux基本操作linux基本操作
linux基本操作命令
操作系统课件 linux的基本操作 gcc linux基本操作
Linux的基本操作,网络相关的配置命令ifconfig、本地yum源配置的相关
常用linux基本操作:实际使用中,一些命令的选项基本不会被使用,花大量的时间来整理它们是不值得的,所以本文没有做这件"大而全"的事.
学习linux的基本操作学习linux的基本操作学习linux的基本操作学习linux的基本操作
讲述linux下基本命令等基本操作 快速的入门
Linux基本操作命令符Linux基本操作命令符Linux基本操作命令符Linux基本操作命令符
linux 上机基本操作linux 上机基本操作linux 上机基本操作
第三章 Linux 基本命令操作 Linux 终端介绍、 Shell 提示符、 Bash 基本诧法 3.1.1 登彔 Linux 终端 认识终端: 在 Linux 系统中,计算机显示器通常被称为控制台终端(Console)。它仺真了类型为 Linux 的一种终 端...
03Linux基本操作 GNOME图形界面基础 BASH基础 Linux系统常用命令 Vim文本编辑器
Linux 系统的基本操作 了解Linux操作系统的启动、登录及注销的方法 学习和掌握Linux系统的常用命令 学习和掌握vi编辑器的使用,及程序的编译和运行的方法
关于Linux的详解,包括一些简单的基本操作,可以用来作为查看手册。
Linux下的mysql数据库的基本操作 常用的操作 Linux mysql常用的自带的函数 方法等讲解较为详细。
Linux的基本操作
Linux下安装MySQL及基本操作
linux的基础操作,Linux的安装 ,文件的和目录的操作等
LINUX 基本 操作 命令LINUX基本命令
学习目前企业经常使用的Linux基本操作命令 深度学习Linux内核源码及源码剖析学习目前企业经常使用的Linux基本操作命令 深度学习Linux内核源码及源码剖析学习目前企业经常使用的Linux基本操作命令 深度学习Linux内核...