导航:首页 > 操作系统 > linuxshellz

linuxshellz

发布时间:2022-09-23 10:31:13

1. linux中shell命令相关问题求助大佬

Linux Shell常用shell命令
一、文件、目录操作命令
1、ls命令
功能:显示文件和目录的信息
ls以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 显示文件,按照修改时间排序
2、cd命令
功能:改名目录
cd dir切换到当前目录下的dir目录
cd /切换到根目录
cd ..切换到到上一级目录
cd ../..切换到上二级目录
cd ~切换到用户目录,比如是root用户,则切换到/root下
根目录与家目录的区别:
根目录是系统的一级文件结构,家目录只是非root用户控制目录。相当于windows我的文档,非root用户只能完会控制家目录的文件,不能控制根目录下其它的文件。
根目录是设备的最顶层目录,用 / 表示
家目录是每个用户登录系统后所在的目录,通常在 /home 下,以用户名作为目录,可以用 ~ 表示。
cd / 进入根目录
cd ~/ 进入家目录
当然,也可以用 /home/someone 进入someone的家目录

3、cp命令
功能:文件
cp source target将文件source复制为target
cp /root /source .将/root下的文件source复制到当前目录
eg:cp /home/open_038_dev/external_files/test/test.sh .
cp –av soure_dir target_dir将整个目录复制,两目录完全一样
4、rm命令
功能:删除文件或目录
rm file删除某一个文件
rm -f file 删除时候不进行提示。可以于r参数配合使用
rm -rf dir删除当前目录下叫dir的整个目录
5、mv命令
功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令
mv source target将文件source更名为target
命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
实例一:文件改名
命令:
mv test.log test1.txt
实例二:移动文件
命令:
mv test1.txt test3

将文件log1.txt,log2.txt,log3.txt移动到目录test3中。
mv log1.txt log2.txt log3.txt test3
将文件log1.txt log2.txt log3.txt异动到/opt/soft/test/test4目录下
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
移动当前文件夹下的所有文件到上一级目录
mv * ../
6、diff
功能:比较文件内容
diff dir1 dir2比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2比较文件,显示两个文件不相同的内容
7、ln命令
功能:建立链接。windows的快捷方式就是根据链接的原理来做的
ln source_path target_path 硬连接
ln -s source_path target_path 软连接
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html
二、查看文件内容命令
1、cat命令
显示文件的内容,和DOS的type相同
cat file
2、more命令
功能:分页显示命令
morefile
more命令也可以通过管道符(|)与其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令
功能:显示文件的最后几行
tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行
4、vi命令
vi file编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按[ESC]键,然后输入:w(写入文件),:w!(不询问方式写入文件),:wq保存并退出,:q退出,q!不保存退出
5、touch命令
功能:创建一个空文件
touch aaa.txt 创建一个空文件,文件名为aaa.txt
三、基本系统命令
1、man命令
功能:查看某个命令的帮助,如果你不知道某个命令的用法不懂,可以问他,他知道就回告诉你
例如:
man ls 显示ls命令的帮助内容
2、w命令
功能:显示登录用户的详细信息
例如:
Sarge:~# w
22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
zhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]
3、who命令
功能:显示登录用户
例如:
Sarge:~# who
zhoulj pts/0 Mar 13 21:24 (10.140.0.109)
4、last命令
功能:查看最近那些用户登录系统
例如:
Sarge:~# last
zhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in
reboot system boot 2.6.8-2-386 Mon Mar 13 21:23 (00:43)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - down (00:00)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - 22:51 (00:00)
root tty1 Sun Mar 12 22:50 - down (00:01)
root tty1 Sun Mar 12 22:46 - 22:48 (00:02)
root tty1 Sun Mar 12 22:43 - 22:46 (00:02)
reboot system boot 2.6.8-2-386 Mon Mar 13 06:34 (-7:-41)
wtmp begins Mon Mar 13 06:34:11 2006
5、date命令
功能:系统日期设定
date显示当前日期时间
date -s 20:30:30设置系统时间为20:30:30
date -s 2002-3-5设置系统时期为2003-3-5
date -s "060520 06:00:00"设置系统时期为2006年5月20日6点整。
6、clock命令
功能:时钟设置
clock –r对系统Bios中读取时间参数
clock –w将系统时间(如由date设置的时间)写入Bios
7、uname命令
功能:查看系统版本
uname -R显示操作系统内核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
8、关闭和重新启动系统命令
reboot 重新启动计算机
shutdown -r now 重新启动计算机,停止服务后重新启动计算机
shutdown -h now 关闭计算机,停止服务后再关闭系统
halt 关闭计算机
一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。
9、su命令
功能:切换用户
su - 切换到root用户
su - zhoulj 切换到zhoulj用户,
注意:- ,他很关键,使用-,将使用用户的环境变量
http://man.linuxde.net/su
四、监视系统状态命令
1、top命令
功能:查看系统cpu、内存等使用情况
2、free命令
功能:查看内存和swap分区使用情况
例如:
Sarge:~# free -tm
total used free shared buffers cached
Mem: 187 42 145 0 6 16
-/+ buffers/cache: 19 167
Swap: 243 0 243
Total: 430 42 388
3、uptime
功能:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
例如:
Sarge:~# uptime
21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:监视虚拟内存使用情况
例如:
# vmstat
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 63704 8100 32272 0 0 8 3 103 17 0 1 98 1
5、ps命令
功能:显示进程信息
ps ux 显示当前用户的进程
ps uxwww 显示当前用户的进程的详细信息
ps aux 显示所有用户的进程
ps ef 显示系统所有进程信息
6、kill命令
功能:干掉某个进程,进程号可以通过ps命令得到
kill -9 1001将进程编号为1001的程序干掉
kill all -9 apache将所有名字为apapche的程序杀死,kill不是万能的,对僵死的程序则无效。
五、磁盘操作命令
1、df命令
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
参数 功能
-a 列出全部目录
-Ta 列出全部目录,并且显示文件类型
-B 显示块信息
-i 以i节点列出全部目录
-h 按照日常习惯显示(如:1K、100M、20G)
-x [filesystype] 不显示[filesystype]
例如:
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 265M 64M 187M 26% /
tmpfs tmpfs 94M 0 94M 0% /dev/shm
/dev/sda6 ext3 714M 8.1M 667M 2% /home
/dev/sda8 ext3 956M 215M 691M 24% /usr
/dev/sda7 ext3 714M 57M 619M 9% /var
2、命令
功能:检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间。
参数 功能
-s [dirName] 显示目录占用总空间
-sk [dirName] 显示目录占用总空间,以k为单位
-sb [dirName] 显示目录占用总空间,以b为单位
-sm [dirName] 显示目录占用总空间,以m为单位
-sc [dirName] 显示目录占用总空间,加上目录统计
-sh [dirName] 只统计目录大小
例如:
# -sh /etc
1.3M /etc
3、mount命令
功能:使用mount命令就可在Linux中挂载各种文件系统。
格式:mount -t 设备名 挂载点
(1)、mount /dev/sda1 /mnt/filetest
mount -t vfat /dev/hda /mnt/fatfile
mount -t ntfs /dev/hda /mnt/ntfsfile
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -o 设备名 挂载点
(2)、使用usb设备
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb
4、mkswap命令
功能:使用mkswap命令可以创建swap空间,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4 #启用新创建的swap空间,停用可使用swapoff命令
5、fdisk命令
功能:对磁盘进行分区
fdisk /dev/xxx 格式化xxx设备(xxx是指磁盘驱动器的名字,例如hdb,sdc)
fdisk -l 显示磁盘的分区表
6、mkfs命令
功能:格式化文件系统,可以指定文件系统的类型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
参数 功能
-b 块大小
-i 节点大写
-m 预留管理空间大小
例如:
debian:~#mkfs.ext3 /dev/sdb1
7、e2fsck命令
功能:磁盘检测
e2fsck /dev/hda1检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1检查磁盘是否有坏区
8、tune2fs命令
功能:调整ext2/ext3文件的参数
参数 功能
-l 查看文件系统信息
-c 设置强制自检的挂载次数
-i 设置强制自检的间隔时间,单位天
-m 保留块的百分比
-j 将ext2文件系统转换成ext3格式
# tune2fs -l /dev/sda1
9、dd命令
功能:功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。
跟DOS下的disk命令的作用类似。
dd if=/dev/fd0 of=floppy.img将软盘的内容复制成一个镜像
dd if=floppy.img of=/dev/fd0将一个镜像的内容复制到软盘,做驱动盘的时候经常用。
六、用户和组相关命令
1、groupadd命令
功能:添加组
groupadd test1 添加test1组
groupadd -g 1111 test2 添加test2组,组id为1111
2、useradd命令
功能:添加用户
useradd user1 添加用户user1,home为/home/user1,组为user1
useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1
user list显示已登陆的用户列表
3、passwd命令
功能:更改用户密码
passwd user1修改用户user1的密码
passwd -d root将root用户的密码删除
4、userdel命令
功能:删除用户
userdel user1删除user1用户
5、chown命令
功能:改变文件或目录的所有者
chown user1 /dir将/dir目录设置为user1所有
chown -R user1.user1 /dir将/dir目录下所有文件和目录,设置为user1所有,组为user1。-R递归到下面的每个文件和目录
6、chgrp命令
功能:改变文件或目录的所有组
chgrp user1 /dir将/dir目录设置为user1所有
7、chmod命令
功能:改变用户的权限
chmod a+x file将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file将文件file设置为可读写
chmod 750 file 将文件file设置为,所有者为完全权限,同组可以读和执行,其他无权限
8、id命令
功能:显示用户的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)
9、finger命令
功能:显示用的信息
注意:debian下没有该命令。
# finger zhoulj
Login: zhoulj Name:
Directory: /home/zhoulj Shell: /bin/bash
On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4
No mail.
No Plan.
七、压缩命令
1、gzip格式命令
功能:压缩文件,gz格式的
注意:生成的文件会把源文件覆盖
gzip -v 压缩文件,并且显示进度
-d 解压
gunzip -f 解压缩
例如:
# gzip a.sh
#ll
-rwxr-xr-x 1 root root 71 12月 18 21:08 a.sh.gz
# gzip -d a.sh.gz
#ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
2、zip格式命令
功能:压缩和解压缩zip命令
zip
unzip
例如:
将/home/Blinux/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip:
zip -q -r html.zip /home/Blinux/html
(-q:不显示指令执行过程 -r:递归处理,将指定目录下的所有文件和子目录一并处理)
# zip a.sh.zip a.sh
adding: a.sh (stored 0%)
# ll
-rw-r--r-- 1 root root 188 5月 21 10:37 a.sh.zip
# unzip a.sh.zip
Archive: a.sh.zip
replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: a1.sh
extracting: a1.sh
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a1.sh
3、bzip2根式命令
功能:bzip2格式压缩命令,
注意:生成的文件会把源文件覆盖
bzip2
bunzip2
例如:
# bzip2 a.sh
# ll
-rwxr-xr-x 1 root root 85 12月 18 21:08 a.sh.bz2
# bunzip2 a.sh.bz2
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
4、tar命令
功能:归档、压缩等,比较重要,会经常使用。
-cvf 压缩文件或目录
-xvf 解压缩文件或目录
-zcvf 压缩文件或,格式tar.gz
-zxvf 解压缩文件或,格式tar.gz
-zcvf 压缩文件或,格式tgz
-zxvf 解压缩文件或,格式tgz
举例:
# tar cvf abc.tar *.sh
# tar xvf abc.tar
# tar czvf abc.tar.gz *.sh
# ll
-rw-r--r-- 1 root root 20480 5月 21 10:50 abc.tar
-rw-r--r-- 1 root root 1223 5月 21 10:53 abc.tar.gz
# tar xzvf abc.tar.gz

八、网络相关命令
1、ifconfig命令
功能:显示修改网卡的信息
ifconfig 显示网络信息
ifconfig eth0 显示eth0网络信息
修改网络信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 设置网卡1的地址192.168.1.1,掩码为255.255.255.0
ifconfig eth0:1 192.168.1.2 捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.n 捆绑网卡1的第n个地址为192.168.1.n
例如:
# ifconfig eth0:1 192.168.1.11
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:342493 (334.4 Kb) TX bytes:469020 (458.0 Kb)
Interrupt:9 Base address:0x1400
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0x1400
2、route命令
功能:显示当前路由设置情况
route 显示当前路由设置情况,比较慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由
route add default gw 192.168.1.1 metric1 设置192.168.1.1为默认的路由
route del default 将默认的路由删除
举例:
# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
3、netstat命令
功能:显示网络状态
netstat -an 查看网络端口信息
netstat -nr 查看路由表信息,比route快多了,
4、启动网络的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止网络,
/etc/init.d/network start 启动网络,
5、手工修改网络配置
(1)、debian系统
配置文件位置为:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
address 10.4.5.6
netmask 255.255.255.0
network 10.4.5.0
broadcast 10.4.5.255
iface eth1 inet static
address 219.25.5.60
netmask 255.255.255.192
network 219.25.5.0
broadcast 219.25.5.63
gateway 219.25.5.30
修改后保存配置后,运行
/etc/init.d/networking restart
网络配置就改变了
(2)、redhat系统
配置文件位置为:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.254
ONBOOT=yes
TYPE=Ethernet
修改后保存配置后,运行
/etc/init.d/network restart
或者
service network restart
网络配置就改变了。
默认DNS的文件的位置为:/etc/resolv.conf
#cat /etc/resolv.conf
search test.com.cn
nameserver 192.168.1.11
6、网络排错
(1)、ping命令
功能:不说了,不知道就用干这行了。
ping
(2)、traceroute命令
功能:路由跟踪
traceroute
traceroute 207.68.173.7
(3)、nslookup命令
功能:域名解析排错
例如:
$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>
Server: 192.168.1.11
Address: 192.168.1.11#53
Non-authoritative answer:
Name:
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
>
Server: 202.118.66.6
Address: 202.118.66.6#53
Non-authoritative answer: canonical name =
.
Name:
Address: 202.108.22.5
九、其他命令
1、ssh命令
功能:远程登陆到其他UNIX主机
ssh -l user1 192.168.1.2 使用用户名user1登陆到192.168.1.2
ssh
使用用户名user1登陆到192.168.1.2
2、scp命令
功能:安全
例如:
scp abc.tar.gz
:~ 将本地的abc.tar.gz 复制到 192.168.1.5的user1用户的根(/home/user1)下。
3、telnet命令
功能:登陆到远程主机
例如:
telnet 192.168.1.5
————————————————
版权声明:本文为CSDN博主“Sunshine~L&H”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LH0912666/article/details/87897629

2. Linux 中的shell是什么作用跟C语言有什么关系

c shell是一种脚本语言,是用c语言写的,基本上所有的高级语言都是用c写的,语法上跟c语言差别很大,跟VB比较像,它的作用就跟widows的dos命令差不多。想学习了解更多linux知识,请关注《linux就该这么学》官网。

3. Linux里面shell窗口命令Ctrl+s命令作用是什么

在Linux下,CTRL+S组合键是进行锁屏,键盘进行的输入也是存在的,只是没有显示

4. linux操作系统的shell命令有哪些

1 文件与目录操作命令

1.1文件内容查询命令 grep、fgrep、egrep

语法:grep[选项][查找模式][文件名1,文件名2,……]

选项:

-E 每个模式作为一个扩展的正则表达式对待

-F 每个模式作为一组固定字符串对待,而不作为正则表达式

-i 比较时不区分大小写

-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;

-x 只显示整行严格匹配的行

1.2文件查找命令 find、locate

语法:

find 起始目录 寻找条件 操作以名称和文件属性查找

选项: -name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。

-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。

-user‘字串‘ 查找属于用户名为所给字串的所有的文件。

-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。

-type x 查找类型为 x的文件,

语法:locate 相关字

1.3文件的复制、删除和移动命令 文件复制命令

[选项] 源文件或目录 目标文件或目录

选项:

- a 通常在拷贝目录时使用

-d 拷贝时保留连接

-f 删除已经存在的目标文件而不提示

-i 和f选项相反

-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中

-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;

-l 不作拷贝,只是链接文件文件移动命令

mv[选项] 源文件或目录 目标文件或目录

-i 交互式操作

-f 禁止交互式操作文件删除命令

[选项] 文件…

-f 忽略不存在的文件,从不给出提示

-r 指示rm将参数中列出的全部目录和子目录均递归地删除

-i 进行交互式删除 1.4文件链接命令

ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录

选项:

- s 建立符号链接

1.5目录的创建和删除命令 mkdir 创建一个目录

语法: [选项] dirname

选项: - m 对新建目录设置存取权限

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir 删除空目录

语法: rmdir [选项] dirname

选项:

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

1.6改变工作目录,显示目录内容命令

1、改变工作目录: cd [directory]

2、显示当前工作的目录的绝对路径: pwd

3、显示目录内容: ls [选项] [目录或是文件]

选项:

- a 显示指定目录下所有子目录与文件,包括隐藏文件;

-c 按照文件的修改时间排序

-C 分成多列显示各项

-d 如果参数是目录,只显示其名称而不显示其下的个文件

-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

-l 以长格式来显示文件的详细信息

-L 若指定的名称为一个符号链接,则显示链接所指向的文件

-t 显示时按修改时间而不是名字排序

-u 显示时按文件上次存取的时间而不是名字排序

4、改变文件或目录的访问权限命令chmod [who] [+| - | = ] [mode] 文件名?

Who选项:

- u表示用户,即文件和目录的所有者

-g表示同组用户

-o(other)表示其他用户

-a (all)表示所有用户

操作符号: + 添加某个权限 - 取消某个权限 = 赋予给定权限并取消其他所有的权限(如果有的话)

mode 选项:

- r 可读

-w 可写

-x 可执行 chgrp [-R] group filename? 改变目录或文件所属的组

chown [-Rv] 用户或组 文件

1.7备份与压缩命令

1、tar命令 为文件和目录创建档案语法:

tar [主选项+辅助选项] 文件或者目录 : u 主选项

-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项

-r 把要存档的文件追加到档案文件的末尾

-t 列出档案文件的内容,查看已经备份了哪些文件;

-u 更新文件

-x 从档案文件中释放文件;

-u 辅助选项

-b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20

-f 使用档案文件或设备,这个选项通常是必选的

-k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;

-m 在还原文件时,把所有文件的修改时间设定为现在;

-M 创建多卷的档案文件,以便在几个磁盘中存放;

-v 详细报告tar处理的文件信息

-w 每一步都要求确认

-z 用gzip来压缩/解压缩文件

2、gzip命令 压缩/解压缩命令

语法:gzip [选项] 压缩(解压缩)的文件名

选项:

-c 将输出写到标准输出上,并保留原有文件

-d 将压缩文件解压

-l 显示每个压缩文件的详细信息

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩

-t 测试、检查压缩文件是否完整

-v 对每一个压缩和解压的文件,显示文件名和压缩比

3、unzip 命令 用MS windows下的压缩软件winzip压缩的文件在linux系统下展开

语法:unzip [选项] 压缩文件名.zip

选项: -x 文件列表 解压缩文件,但不包括指定的file文件

-v 查看压缩文件目录,但不解压

-t 测试文件有无损坏 ,但不解压

-d 目录 将压缩文件解到指定目录下

-z 只显示压缩文件的注解

-n 不覆盖已经存在的文件

-o 覆盖已经存在的文件且不要求用户确认

-j 不重建文档的目录结构,把所有文件解压到同一目录下

1.8在LINUX环境下运行DOS命令 linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。

mcd 目录名 改变MSDOS目录 m 源文件 目标文件 在MSDOS和UNIX之间复制文件;

mdel 目录名 删除MSDOS目录 mdir 目录名 显示MSDOS目录 mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统 rnlabel 驱动器号 产生MSDOS卷标 mmd 目录名 删除MSDOS目录 mren 源文件 目标文件 重新命名已存在的MSDOS文件 mtype 文件名 显示MSDOS文件的内容

2 设备管理命令

1)linux采用下面的形式定义一个IDE硬盘:/dev/hd[drive][partition]

2)SCSI硬盘使用同样的机制表示: /dev/sd[drive][partition]

3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下: mk2fs –c ;

4)装载文件系统:

mount –t ext2 [-o optioms] partition mountpiont 其中,

-t为指定装载文件系统的类型;

-o指定一些选项,如只读ro,可读可写rw等等; partition定义分区名称; mountpiont定义文件系统被装载的目录名称。

5)装载CD-ROM文件系统:mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)装载软驱文件系统: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸载文件系统 CODE:[Copy to clipboard]umount /mnt/cdrom 磁带设备的安装要注意以下几点:

1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置

2、 选择驱动程序。

3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备) 用 ls /dev/*rst* 检查磁带设备文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如 mt setblk 20 将块长度指定为20 mt setblk 0 指定块程度没有限制

5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 软件包管理命令

3.1软件安装的步骤 在LINUX系统上安装软件的步骤有:

1、 查找所要安装软件的源文件

2、 把源文件解开放到一个目录中,命令如下: tar zxvf <源文件名>;

3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure

4、 make源文件,通常是运行make命令,即执行 make

5、 安装二进制文件和其他支撑文件,运行命令: make install

6、 最后,完成所有其他必须的配置

3.2软件包管理命令 QUOTE: rpm –ivh <软件包>; // 安装指定的软件包,并在安装过程中用#表示安装的进度 rpm –Uvh <软件包>; // 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。 rpm –e //卸载一个rpm软件包 rpm –qa // 查看系统中已经安装的软件包 rpm –q <软件包>; // 查看系统中某个软件包的版本号; rpm –qlp <软件包>; //列出某个软件包中的所有文件 rpm –qf <软件包>; //找出一个文件属于哪个软件包

4 LINUX系统常用命令

4.1 与系统管理有关的命令 Wall (Write All) 对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入: # wall < FileName 例:Wall ‘Thank you !’ Write 向某一用户发送信息。 Write xxq hello 输入Ctrl+C组合即可终止 Shutdown命令 Shutdown [选项] [时间] [警告信息]

-k 并不真正关机,而只是发出警告信息给所有的用户。

-r 关机后立即重新启动。

-h 关机后不重新启动。

-f 快速关机,启动时跳过fsck。

-n快速关机,不经过init程序。

-c 取消一个已经运行的shutdown 例:系统马上关机:Shutdown –h now Free命令查看当前系统内存的使用情况, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以字节为单位显示。

-k 以K字节为单位显示。

-m 以M字节为单位显示。 Uptime QUOTE: 显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

4.2与用户有关的命令 Passwd命令设置、更换用户口令。

Passwd [用户名] Su 使一个普通的用户具有超级用户的权利,离开可用EXIT命令。 4.3其它命令 Echo命令在显示器上显示一段文字,一般起到一个提示的作用。

echo [-n] 字符串 Cal命令显示某年某月的日历。

cal [选项] [月[年]]

选项的含义:

-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。

-y 显示也整年的日历。 Date命令 date命令的功能是显示和设置系统日期和时间。 4.4磁盘管理 磁盘空间管理 df命令检查文件系统的磁盘空间占用局部。

Df [选项]

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k 以K字节为单位显示。

-i 显示i节点信息,而不是磁盘块。

- t 显示各指定类型的文件系统的磁盘空间使用情况。

-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。

-T 显示文件系统类型。 命令 的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。

[选项] [Names…]

-s 对每人Names 参数只给也占用的数据块总数。

-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。

-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)

-k 以1024字节为单位列也磁盘空间使用情况。

-c 最后再加上一个总计(系统缺省)

-l 计算所有的文件大小,对硬链接文件,则计算多次。

-x 跳过在不同文件系统上的目录不予统计。 dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。

语法: dd 〔选项〕 if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。 bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。 cbs = bytes 一次转换bytes字节。 count = blocks 只拷贝输入的blocks块。 conv = ASCII 把EBCDIC码转换为ASCII码。 conv = ebcdic 把ASCII码转换为EBCDIC码。 conv = ibm 把ASCII码转换为alternate EBCDIC码。 conv = blick 把变动位转换成固定字符。 conv = ublock 把固定们转换成变动位 conv = ucase 把字母由小写变为大写。 conv = lcase 把字母由大写变为小写。 conv = notrunc 不截短输出文件。 conv = swab 交换每一对输入字节。 conv = noerror 出错时不停止处理。 conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。 fdformat命令低级格式化软盘。

format [-n] device QUOTE: -n 格式化后不做检验

4.5常用的网络命令 FTP命令 Telnet命令。

Netstat命令

-a 显示所有的scoket,包括正在监听和。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同”ifconfig –e”

-n 以网络IP地址代替名称,显示也网络连接情形。

-r 显示核心路由表,格式同”route –e:。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。 nslookup命令。 finger命令,功能是查询用户的信息。 ping命令。(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有关进程的命令。 进程和启动 at [-V] [-q] [-f文件名] [-mldbv]时间 at –c 作业 [作业….] AT命令启动的进程系统只执行一次。 batch [-V] [-q 队列] [-f 文件名] [-mv] [时间] 在系统负载较小时,资源比较空闲时执行。 cron命令按一定的时间间隔执行命令。 crontab命令用于安装、删除或列出用于驱支cron后台进程的表格。进程查看

who命令。 w命令是一个比who命令更强大的命令 w

–[husfV] [user] -h 不显示标题。

-u 当列出当前进程和CPU时间时忽略用户名。

-s 使用短模式。不显示登录时间JCPU和PCPU时间。

-f 切换显示FROM项,也就是远程主机名项。

-V 显示版本信息。 user 只显示指定用户的情况。 ps命令。

-e 显示所有进程。

-f 全格式

-h 不显示标题。

-l 长格式。

-w 宽输出。 a 显示终端上所有进程,包括其他用户的进程。 r 只显示正在运行的进程。 x 显示没有控制终端的进程。 top 命令动态显示系统当前的进程和其他状况。 5系统的启动过程。

5. linux下的 shell到底是什么啊

在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。一般来说,shell是指操作系统中,提供访问内核所提供之服务的程序。

6. linux shell有哪些 类型

2.4脚本语言的种类
2.4.1 Shell脚本语言的种类
Shell脚本语言是弱类型语言(无需定义变量的类型就可使用),在Unix/Linux中主要有两大类Shell,一类是Bourne shell,另一类是C shell。
1. Bourne shell
Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again Shell(bash)三种类型。
Bourne shell (sh)由AT&T的Steve Bourne开发,是标准的UNIX Shell,很多UNIX系统都配有sh。
Korn shell (ksh)由David Korn开发,是Bourne shell(sh)的超集合,并且添加了csh引入的新功能,是目前很多UNIX系统标准配置的Shell,在这些系统上的/bin/sh往往是指向/bin/ksh的符号链接。
Bourne Again Shell即bash由GNU项目组开发,主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,bash从csh和ksh借鉴了很多功能,是各种Linux发行版默认配置的Shell,在Linux系统上的/bin/sh往往是指向/bin/bash的符号链接。虽然如此,bash和sh还是有很多的不同,一方面,bash扩展了一些命令和参数,另一方面,bash并不完全和sh兼容,它们有些行为并不一致,但大多数企业运维的情况下区别不大,特殊场景可以使用bash替代sh。
2. C shell
C shell又包括csh、tcsh两种类型。
csh由Berkeley大学开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne Shell所不支持的功能,例如:作业控制、别名、系统算术、命令历史、命令行编辑等。
tcsh是csh的增强版,加入了命令补全等功能,在FreeBSD、Mac OS X等系统上替代了csh。
以上介绍的这些Shell中,较为通用的是标准的Bourne shell (sh)和C shell (csh)。其中Bourne shell (sh)已经被Bourne Again shell (bash) 取代。
可通过以下命令查看CentOS7系统的Shell支持情况。
[root@oldboy ~]# cat /etc/shells
/bin/sh #<==这是Linux里常用的Shell,指向/bin/bash。
/bin/bash #<==这是Linux里常用的Shell,也是默认使用的Shell。
/usr/bin/sh
/usr/bin/bash
Linux系统中的主流Shell是bash,bash是由Bourne Shell(sh)发展而来的,但bash还包含了csh和ksh的特色,但大多数脚本都可以不加修改地在sh上运行,如果你使用sh后发现结果和预期有差异,那么可以尝试使用bash替代sh。
内容来源:《跟老男孩学linux运维:Shell高级编程实战》第02章_Shell脚本初步入门

7. Linux可用的Shell有哪些

同Linux本身一样,Shell也有多种不同的版本。
目前主要有下列版本的Shell:
Bourne Shell:是贝尔实验室开发的。
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。

8. linux中的shell是什么意思

ll程序呢? 简单的说shell程序就是一个包含若干行
shell或者linux命令的文件.
象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.
在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.
执行shell程序文件有三种方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=$:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)
(2)#sh file
(3)# . file
(4)#source file
在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,如:#! /bin/bash,
#! /bin/csh,/bin/tcsh,还是#! /bin/pdksh .
2.shell中的变量
(1)常用系统变量
$ # :保存程序命令行参数的数目
$ ? :保存前一个命令的返回码
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有输入的命令行参数
$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数
(2)定义变量
shell语言是非类型的解释型语言,不象用C++/JAVA语言编程时需要事先声明变量.给一
个变量赋值,实际上就是定义了变量.
在linux支持的所有shell中,都可以用赋值符号(=)为变量赋值.
如:
abc=9 (bash/pdksh不能在等号两侧留下空格 )
set abc = 9 (tcsh/csh)
由于shell程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放
整数.
如:
name=abc (bash/pdksh)
set name = abc (tcsh)
在变量赋值之后,只需在变量前面加一个$去引用.
如:
echo $abc
(3)位置变量
当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里.
其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推...,shell保留
这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们.

3.shell中引号的使用方法
shell使用引号(单引号/双引号)和反斜线("\")用于向shell解释器屏蔽一些特殊字符.
反引号(")对shell则有特殊意义.
如:
abc="how are you" (bash/pdksh)
set abc = "how are you" (tcsh)
这个命令行把三个单词组成的字符串how are you作为一个整体赋值给变量abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME变量是保存当前用户名的shell变量,假设他的当前值是:wang.执行完两条命令后,
abc1的内容是:$LOGNAME, how are you!.而abc2的内容是;wang, how are you!.
象单引号一样,反斜线也能屏蔽所有特殊字符.但是他一次只能屏蔽一个字符.而不能屏蔽
一组字符.
反引号的功能不同于以上的三种符号.他不具有屏蔽特殊字符的功能.但是可以通过他将
一个命令的运行结果传递给另外一个命令.
如:
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell程序中的test命令
在bash/pdksh中,命令test用于计算一个条件表达式的值.他们经常在条件语句和循环
语句中被用来判断某些条件是否满足.
test命令的语法格式:
test expression
或者
[expression]

在test命令中,可以使用很多shell的内部操作符.这些操作符介绍如下:
(1)字符串操作符 用于计算字符串表达式
test命令 | 含义
-----------------------------------------
Str1 = str2 | 当str1与str2相同时,返回True
Str1! = str2| 当str1与str2不同时,返回True
Str | 当str不是空字符时,返回True
-n str | 当str的长度大于0时,返回True
-z str | 当str的长度是0时,返回True
-----------------------------------------
(2)整数操作符具有和字符操作符类似的功能.只是他们的操作是针对整数
test表达式 | 含义
---------------------------------------------
Int1 -eq int2|当int1等于int2时,返回True
Int1 -ge int2|当int1大于/等于int2时,返回True
Int1 -le int2|当int1小于/等于int2时,返回True
Int1 -gt int2|当int1大于int2时,返回True
Int1 -ne int2|当int1不等于int2时,返回True
-----------------------------------------
(3)用于文件操作的操作符,他们能检查:文件是否存在,文件类型等
test表达式 | 含义
------------------------------------------------
-d file |当file是一个目录时,返回 True
-f file |当file是一个普通文件时,返回 True
-r file |当file是一个刻读文件时,返回 True
-s file |当file文件长度大于0时,返回 True
-w file |当file是一个可写文件时,返回 True
-x file |当file是一个可执行文件时,返回 True
------------------------------------------------
(4)shell的逻辑操作符用于修饰/连接包含整数,字符串,文件操作符的表达式
test表达式 | 含义
----------------------------------------------------------
! expr |当expr的值是False时,返回True
Expr1 -a expr2|当expr1,expr2值同为True时,返回True
Expr1 -o expr2|当expr1,expr2的值至少有一个为True时,返回True
-----------------------------------------------------------
注意:
tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh
支持的表达式于C中的表达式相同.通常使用在if和while命令中.
tcsh表达式 | 含义
-------------------------------------------------------
Int1 <= int2 |当int1小于/等于int2时,返回True
Int1 >= int2 |当int1大于/等于int2时,返回True
Int1 < int2 |当int1小于int2时,返回True
Int1 > int2 |当int1大于int2时,返回True
Str1 == str2 |当str1与str2相同时,返回True
Str1 != str2 |当str1与str2不同时,返回True
-r file |当file是一个可读文件时,返回True
-w file |当file是一个可写文件时,返回True
-x file |当file是一个可执行文件时,返回True
-e file |当file存在时,返回True
-o file |当file文件的所有者是当前用户时,返回True
-z file |当file长度为0时,返回True
-f file |当file是一个普通文件时,返回True
-d file |当file是一个目录时,返回True
Exp1 || exp2 |当exp1和exp2的值至少一个为True时,返回True
Exp1 && exp2 |当exp1和exp2的值同为True时,返回True
! exp |当exp的值为False时,返回True

阅读全文

与linuxshellz相关的资料

热点内容
安卓如何安装obb 浏览:440
QQ聊天记录journal文件夹 浏览:118
苹果公司云服务器地址 浏览:85
加密记事本手机 浏览:437
汽车压缩机变频阀 浏览:95
域外服务器是什么意思 浏览:639
大众点评服务器怎么老卡顿 浏览:556
javavector与list的区别 浏览:316
java初始化类数组 浏览:303
java字符串转换成json对象 浏览:647
android非阻塞socket 浏览:358
编译系统概念 浏览:452
天眼通app能做什么 浏览:557
魅族手机怎么加密图库 浏览:8
rpa编译器 浏览:572
车载云服务器记录 浏览:740
四川金星压缩机制造有限公司 浏览:55
移动平台图片压缩算法 浏览:37
银行项目java 浏览:571
怎样将pdf转换为ppt 浏览:598