Tag Archive for 'iphone'

iphone/ipod touch下可用的unix命令汇总

以下命令收集自这个页面

arch show architecture of machine
uname -r show used kernel version
dmidecode -q show hardware system components - (SMBIOS / DMI)
hdaparm -i /dev/hda displays the characteristics of a hard-disk
hdparm -tT /dev/sda perform test reading on a hard-disk
cat /proc/cpuinfo show information CPU info
cat /proc/interrupts show interrupts
cat /proc/meminfo verify memory use
cat /proc/swaps show file(s) swap
cat /proc/version show version of the kernel
cat /proc/net/dev show network adpters and statistics
cat /proc/mounts show mounted file system(s)
lspci -tv display PCI devices
lsusb -tv show USB devices
date show system date
cal 2007 show the timetable of 2007
date 041217002007.00 set date and time - MonthDayhoursMinutesYear.Secondi
clock -w 
save changes on BIOS
shutdown -h now shutdown system
init 0
shutdown -r hours:minutes & planned shutdown of the system
shutdown -c cancel a planned shutdown of the system
shutdown -r now reboot
reboot
logout leaving session
cd /home enter to directory ‘/ home’
cd .. go back one level
cd ../.. go back two levels
cd go to home directory
cd ~utente go to home directory
cd - go to previous directory
pwd show the path of work directory
ls view files of directory
ls -F view files of directory
ls -l show details of files and directory
ls -a show hidden files
ls *[0-9]* show files and directory containing numbers
lstree show files and directories in a tree starting from root
mkdir dir1 create a directory called ‘dir1′
mkdir dir1 dir2 create two directories simultaneously
mkdir -p /tmp/dir1/dir2 create a directory tree
rm -f file1 delete file called ‘file1′
rmdir dir1 delete directory called ‘dir1′
rm -rf dir1 remove a directory called ‘dir1′ and contents recursively
rm -rf dir1 dir2 remove two directories and their contents recursively
mv dir1 new_dir rename / move a file or directory
cp file1 file2 copying a file
cp dir/* . copy all files of a directory within the current work directory
cp -a /tmp/dir1 . copy a directory within the current work directory
cp -a dir1 dir2 copy a directory
ln -s file1 lnk1 create a symbolic link to file or directory
ln file1 lnk1 create a physical link to file or directory
touch -t 0712250000 fileditest modify timestamp of a file or directory - (YYMMDDhhmm)
find / -name file1 search file and directory into root filesystem from ‘/’
find / -user user1 search files and directories belonging to ‘user1′
find /home/user1 -name *.bin search files with ‘. bin’ extension within directory ‘/ home/user1′
find /usr/bin -type f -atime +100 search bynary files are not used in the last 100 days
find /usr/bin -type f -mtime -10 search files created or changed within 10 days
find / -name *.rpm -exec chmod 755 {} ; search files with ‘.rpm’ extension and modify permits
find / -name *.rpm -xdev search files with  ‘.rpm’ extension ignoring removable partitions as cdrom, pen-drive, etc.…
locate *.ps find files with the ‘.ps’ extension - first run ‘updatedb’ command
whereis halt show location of a binary file, source or man
which halt show full path to a binary / executable
mount /dev/hda2 /mnt/hda2 mount disk called hda2 - verify existence of the directory ‘/ mnt/hda2′
umount /dev/hda2 unmount disk called hda2 - exit from mount point ‘/ mnt/hda2′ first
fuser -km /mnt/hda2 force umount when the device is busy
umount -n /mnt/hda2 run umount without writing the file /etc/mtab - useful when the file is read-only or the hard disk is full
mount /dev/fd0 /mnt/floppy mount a floppy disk
mount /dev/cdrom /mnt/cdrom mount a cdrom / dvdrom
mount /dev/hdc /mnt/cdrecorder mount a cdrw / dvdrom
mount /dev/hdb /mnt/cdrecorder mount a cdrw / dvdrom
mount -o loop file.iso /mnt/cdrom mount a file or iso image
mount -t vfat /dev/hda5 /mnt/hda5 mount a Windows FAT32 file system
mount /dev/sda1 /mnt/usbdisk mount a usb pen-drive or flash-drive
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share mount a windows network share
df -h show list of partitions mounted
ls -lSr |more show size of the files and directories ordered by size
du -sh dir1 estimate space used by directory ‘dir1′
du -sh * | sort -rn show size of the files and directories sorted by size
rpm -q -a –qf ‘%10{SIZE}\t%{NAME}\n’ | sort -k1,1n show space used by rpm packages installed sorted by size (fedora, redhat and like)
dpkg-query -W -f=’${Installed-Size;10}\t${Package}\n’ | sort -k1,1n show space used by deb packages installed sorted by size (ubuntu, debian and like)
groupadd group_name create a new group
groupdel group_name delete a group
groupmod -n new_group_name old_group_name rename a group
useradd -c “Nome Cognome” -g admin -d /home/user1 -s /bin/bash user1 create a new user belongs “admin” group
useradd user1 create a new user
userdel -r user1 delete a user ( ‘-r’ eliminates home directory)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 change user attributes
passwd change password
passwd user1 change a user password (only by root)
chage -E 2005-12-31 user1 set deadline for user password
pwck check correct syntax and file format of ‘/etc/passwd’  and users existence
grpck check correct syntax and file format of ‘/etc/group’  and groups existence
newgrp group_name log in to a new group to change default group of newly created files
ls -lh show permits
ls /tmp | pr -T5 -W$COLUMNS divide terminal into 5 columns
chmod ugo+rwx directory1 set permissions reading (r), write (w) and (x) access to users owner (u) group (g) and others (o)
chmod go-rwx directory1 remove permits reading (r), write (w) and (x) access to users group (g) and others (or
chown user1 file1 change owner of a file
chown user1 -R directory1 change user owner of a directory and all the files and directories contained inside
chgrp gruppo1 file1 change group of files
chown user1:gruppo1 file1 change user and group ownership of a file
find / -perm -u+s view all files on the system with SUID configured
chmod u+s /bin/file_eseguibile set SUID bit on a binary file - the user that running that file gets same privileges as owner
chmod u-s /bin/file_binario disable SUID bit on a binary file
chmod g+s /home/public set SGID bit on a directory - similar to SUID but for directory
chmod g-s /home/public disable SGID bit on a directory
chmod o+t /home/comune set STIKY bit on a directory - allows files deletion only to legitimate owners
chmod o-t /home/comune disable STIKY bit on a directory
chattr +a file1 allows write opening of a file only append mode
chattr +c file1 allows that a file is compressed / decompressed automatically by the kernel
chattr +d file1 makes sure that the program ignores Dump the files during backup
chattr +i file1 makes it an immutable file, which can not be removed, altered, renamed or linked
chattr +s file1 allows a file to be deleted safely
chattr +S  file1 makes sure that if a file is modified changes are written in synchronous mode as with sync
chattr +u file1 allows you to recover the contents of a file even if it is canceled
lsattr show specials attributes
bunzip2 file1.bz2 decompress a file called ‘file1.bz2′
bzip2 file1 compress a file called ‘file1′
gunzip file1.gz decompress a file called ‘file1.gz’
gzip file1 compress a file called ‘file1′
gzip -9 file1 compress with maximum compression
rar a file1.rar test_file create an archive rar called ‘file1.rar’
rar a file1.rar file1 file2 dir1 compress ‘file1′, ‘file2′ and ‘dir1′ simultaneously
rar x file1.rar decompress rar archive
unrar x file1.rar decompress rar archive
tar -cvf archive.tar file1 create a uncompressed tarball
tar -cvf archive.tar file1 file2 dir1 create an archive containing ‘file1′, ‘file2′ and ‘dir1′
tar -tf archive.tar show contents of an archive
tar -xvf archive.tar extract a tarball
tar -xvf archive.tar -C /tmp extract a tarball into / tmp
tar -cvfj archive.tar.bz2 dir1 create a tarball compressed into bzip2
tar -xvfj archive.tar.bz2 decompress a compressed tar archive in bzip2
tar -cvfz archive.tar.gz dir1 create a tarball compressed into gzip
tar -xvfz archive.tar.gz decompress a compressed tar archive in gzip
zip file1.zip file1 create an archive compressed in zip
zip -r file1.zip file1 file2 dir1 compress in zip several files and directories simultaneously
unzip file1.zip decompress a zip archive
rpm -ivh package.rpm install a rpm package
rpm -ivh –nodeeps package.rpm install a rpm package ignoring dependencies requests
rpm -U package.rpm upgrade a rpm package without changing configuration files
rpm -F package.rpm upgrade a rpm package only if it is already installed
rpm -e package_name.rpm remove a rpm package
rpm -qa show all rpm packages installed on the system
rpm -qa | grep httpd show all rpm packages with the name “httpd”
rpm -qi package_name obtain information on a specific package installed
rpm -qg “System Environment/Daemons” show rpm packages of a group software
rpm -ql package_name show list of files provided by a rpm package installed
rpm -qc package_name show list of configuration files provided by a rpm package installed
rpm -q package_name –whatrequires show list of dependencies required for a rpm packet
rpm -q package_name –whatprovides show capability provided by a rpm package
rpm -q package_name –scripts show scripts started during installation / removal
rpm -q package_name –changelog show history of revisions of a rpm package
rpm -qf /etc/httpd/conf/httpd.conf verify which rpm package belongs to a given file
rpm -qp package.rpm  -l show list of files provided by a rpm package not yet installed
rpm –import /media/cdrom/RPM-GPG-KEY import public-key digital signature
rpm –checksig package.rpm verify the integrity of a rpm package
rpm -qa gpg-pubkey verify integrity of all rpm packages installed
rpm -V package_name check file size, permissions, type, owner, group, MD5 checksum and last modification
rpm -Va check all rpm packages installed on the system - use with caution
rpm -Vp package.rpm verify a rpm package not yet installed
rpm2cpio package.rpm | cpio –extract –make-directories  *bin* extract executable file from a rpm package
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm install a package built from a rpm source
rpmbuild –rebuild package_name.src.rpm build a rpm package from a rpm source
yum install package_name download and install a rpm package
yum update update all rpm packages installed on the system
yum update package_name upgrade a rpm package
yum remove package_name remove a rpm package
yum list list all packages installed on the system
yum search package_name find a package on rpm repository
yum clean packages clean up rpm cache erasing downloaded packages
yum clean headers remove all files headers that the system uses to resolve dependency
yum clean all remove from the cache packages and headers files
dpkg -i package.deb install / upgrade a deb package
dpkg -r package_name remove a deb package from the system
dpkg -l show all deb packages installed on the system
dpkg -l | grep httpd show all rpm packages with the name “httpd”
dpkg -s package_name obtain information on a specific package installed on system
dpkg -L package_name show list of files provided by a package installed on system
dpkg –contents package.deb show list of files provided by a package not yet installed
dpkg -S /bin/ping verify which package belongs to a given file
apt-get install package_name install / upgrade a deb package
apt-cdrom install package_name install / upgrade a deb package from cdrom
apt-get update update all deb packages installed on system
apt-get remove package_name remove a deb package from system
apt-get check verify correct resolution of dependencies
apt-get clean clean up cache from packages downloaded
cat file1 view the contents of a file starting from the first row
tac file1 view the contents of a file starting from the last line
more file1 view content of a file along
less file1 similar to ‘more’ command but which allows backward movement in the file as well as forward movement
head -2 file1 view first two lines of a file
tail -2 file1 view last two lines of a file
tail -f /var/log/messages view in real time what is added to a file
cat file_test | [operation: sed, grep, awk, grep, etc] > result.txt syntax to elaborate the text of a file, and write result to a new file
cat file_originale | [operazione: sed, grep, awk, grep, etc] >> result.txt syntax to elaborate the text of a file and append result in existing file
grep Aug /var/log/messages look up words “Aug” on file ‘/var/log/messages’
grep ^Aug /var/log/messages look up words that begin with “Aug” on file ‘/var/log/messages’
grep [0-9] /var/log/messages select from file ‘/var/log/messages’ all lines that contain numbers
grep Aug -R /var/log/* search string “Aug” at directory ‘/var/log’ and below
grep Aug /var/log/messages write result of a search within a file
sed ’s/stringa1/stringa2/g’ example.txt replace “string1″ with “string2″ in example.txt
sed ‘/^$/d’ example.txt remove all blank lines from example.txt
sed ‘/ *#/d; /^ *$/d’ example.txt remove comments and blank lines from example.txt
echo ‘esempio’ | tr ‘[:lower:]‘ ‘[:upper:]‘ convert from lower case in upper case
sed -e ‘1d’ result.txt eliminates the first line from file example.txt
sed -n ‘/stringa1/p’ view only lines that contain the word “string1″
sed -e ’s/ *$//’ example.txt remove empty characters at the end of each row
sed -e ’s/stringa1//g’ example.txt remove only the word “string1″ from text and leave intact all
sed -n ‘1,5p;5q’ example.txt view from 1th to 5th row
sed -n ‘5p;5q’ example.txt view row number 5
sed -e ’s/00*/0/g’ example.txt replace more zeros with a single zero
cat -n file1 number row of a file
cat example.txt | awk ‘NR%2==1′ remove all even lines from example.txt
echo a b c | awk ‘{print $1}’ view the first column of a line
echo a b c | awk ‘{print $1,$3}’ view the first and third column of a line
paste file1 file2 merging contents of two files for columns
paste  -d  ‘+’ file1 file2 merging contents of two files for columns with ‘+’ delimiter on the center
sort file1 file2 sort contents of two files
sort file1 file2 | uniq sort contents of two files omitting lines repeated
sort file1 file2 | uniq -u sort contents of two files by viewing only unique line
sort file1 file2 | uniq -d sort contents of two files by viewing only duplicate line
comm -1 file1 file2 compare contents of two files by deleting only unique lines from ‘file1′
comm -2 file1 file2 compare contents of two files by deleting only unique lines from ‘file2′
comm -3 file1 file2 compare contents of two files by deleting only the lines that appear on both files
dos2unix filedos.txt fileunix.txt convert a text file format from MSDOS to UNIX
unix2dos fileunix.txt filedos.txt convert a text file format from UNIX to MSDOS
recode ..HTML < page.txt > page.html convert a text file to html
recode -l | more show all available formats conversion
badblocks  -v  /dev/hda1 check bad blocks in disk hda1
fsck  /dev/hda1 repair / check integrity of linux filesystem on disk hda1
fsck.ext2  /dev/hda1 repair / check integrity of ext2 filesystem on disk hda1
e2fsck  /dev/hda1 repair / check integrity of ext2 filesystem on disk hda1
e2fsck -j /dev/hda1 repair / check integrity of ext3 filesystem on disk hda1
fsck.ext3  /dev/hda1 repair / check integrity of ext3 filesystem on disk hda1
fsck.vfat  /dev/hda1 repair / check integrity of fat filesystem on disk hda1
fsck.msdos  /dev/hda1 repair / check integrity of dos filesystem on disk hda1
dosfsck  /dev/hda1 repair / check integrity of dos filesystems on disk hda1
mkfs /dev/hda1 create a filesystem type linux on hda1 partition
mke2fs /dev/hda1 create a filesystem type linux ext2 on hda1 partition
mke2fs -j /dev/hda1 create a filesystem type linux ext3 (journal) on hda1 partition
mkfs -t vfat 32 -F /dev/hda1 create a FAT32 filesystem
fdformat  -n /dev/fd0 format a floppy disk
mkswap /dev/hda3 create a swap filesystem
mkswap /dev/hda3 create a swap filesystem
swapon /dev/hda3 activating a new swap partition
swapon /dev/hda2 /dev/hdb3 activate two swap partitions
dump -0aj -f /tmp/home0.bak /home make a full backup of directory ‘/home’
dump -1aj -f /tmp/home0.bak /home make a incremental backup of directory ‘/home’
restore -if /tmp/home0.bak restoring a backup interactively
rsync -rogpav –delete /home /tmp synchronization between directories
rsync -rogpav -e ssh –delete /home ip_address:/tmp rsync via SSH tunnel
rsync -az -e ssh –delete ip_addr:/home/public /home/local synchronize a local directory with a remote directory via ssh and compression
rsync -az -e ssh –delete /home/local ip_addr:/home/public synchronize a remote directory with a local directory via ssh and compression
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ make a backup of a local hard disk on remote host via ssh
tar -Puf backup.tar /home/user make a incremental backup of directory ‘/home/user’
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ copy content of a directory on remote directory via ssh
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ copy a local directory on remote directory via ssh
tar cf - . | (cd /tmp/backup ; tar xf - ) local copy preserving permits and links from a directory to another
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents find and copy all files with ‘.txt’ extention from a directory to another
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 find all files with ‘.log’ extention and make an bzip archive
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 make a copy of MBR (Master Boot Record) to floppy
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 restore MBR from backup copy saved to floppy
 

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force

clean a rewritable cdrom
mkisofs /dev/cdrom > cd.iso create an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gz create a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd create an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.iso burn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - burn a compressed ISO image
mount -o loop cd.iso /mnt/iso mount an ISO image
cd-paranoia -B rip audio tracks from a CD to wav files
cd-paranoia — “-3″ rip first three audio tracks from a CD to wav files
cdrecord –scanbus scan bus to identify the channel scsi
ifconfig eth0 show configuration of an ethernet network card
ifup eth0 activate an interface ‘eth0′
ifdown eth0 disable an interface ‘eth0′
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 configure IP Address
ifconfig eth0 promisc configure ‘eth0′ in promiscuous mode to gather packets (sniffing)
dhclient eth0 active interface ‘eth0′ in dhcp mode
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network ‘192.168.0.0/16′
route del 0/0 gw IP_gateway remove static route
echo “1″ > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname
host www.linuxguide.it lookup hostname to resolve name to ip address and viceversa
ip link show show link status of all interfaces
mii-tool eth0 show link status of ‘eth0′
ethtool eth0 show statistics of network card ‘eth0′
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and their PID
tcpdump tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share mount a windows network share
iptables -t filter -L show all chains of filtering table
iptables -t nat -L show all chains of nat table
iptables -t filter -F clear all rules from filtering table
iptables -t nat -F clear all rules from table nat
iptables -t filter -X delete any chains created by user
iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT allow telnet connections to input
iptables -t filter -A OUTPUT -p tcp –dport http -j DROP block HTTP connections to output
iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT allow POP3 connections to forward chain
iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT” logging sulla chain di input  Logging on chain input
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE configure a PAT (Port Address Traslation) on eth0 masking outbound packets
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 redirect packets addressed to a host to another host
top display linux tasks using most cpu
ps -eafw displays linux tasks
ps -e -o pid,args –forest displays linux tasks in a hierarchical mode
pstree mostra un albero dei processi sistema Shows a tree system processes
kill -9 ID_Processo force closure of the process and finish it
kill -1 ID_Processo force a process to reload configuration
lsof -p $$ display a list of files opened by processes
lsof /home/user1 displays a list of open files in a given path system
strace -c ls >/dev/null display system calls made and received by a process
strace -f -e open ls >/dev/null display library calls
watch -n1 ‘cat /proc/interrupts’ display interrupts in real-time
last reboot show history reboot
lsmod display kernel loaded
free -m displays status of RAM in megabytes
smartctl -A /dev/hda monitoring reliability of a hard-disk through SMART
smartctl -i /dev/hda check if SMART is active on a hard-disk
tail /var/log/dmesg show events inherent to the process of booting kernel
tail /var/log/messages show system events
mkbootdisk –device /dev/fd0 `uname -r` create a boot floppy
gpg -c file1 encrypt a file with GNU Privacy Guard
gpg file1.gpg decrypt a file with GNU Privacy Guard
wget -r www.example.com download an entire web site
wget -c www.example.com/file.iso download a file with the ability to stop the download and resume later
echo ‘wget -c www.example.com/files.iso’ | at 09:00 start a download at any given time
ldd ssh show shared libraries required by ssh program
alias hh=’history’ set an alias for a command - hh = history

相关内容

iPhone 3G来了,好戏又要开始了

看到“随着苹果发布3G版本的iPhone,AT&T也正是发布了新的用户协议,目的就是同苹果公司一道,遏制客户对于iPhone解锁使用其他运营商的行为.Gizmodo表示,AT&T的国内销售部总裁曾经说过,iPhone的激活将会在店内进行.而这同现在客户在家通过iTunes进行激活的方式不同.另外,路透社报道,AT&T曾表示,购买了iPhone以后,30天还不激活将会面临惩罚.目前更多的细节尚未公布.”

呵呵,的确,在聪明的hacker这里,这些应该不是问题。非常高兴看到iphone固件2.0版本肯定带中文界面和支持中文手写输入,加上待机时间长了,到时候,很多商务人士也会首选iphone了,而目前已经被iphone攻占的mac fans将继续扩大影响力。

iphone一年前上市,一年里面,moto手机部已经被整地七零八落了,下一个会是谁,nokia,还是索爱?

相关内容

人生需要规划

一直和同事讲GTD,将时间管理,其实我自己做的也并不是很好。

从这个月开始用iphone了,也算是智能手机吧,因此良好的时间管理和行程安排又一次成为可能。

我说自己GTD不好,倒未必是有多么懈怠,而是事务的确比较多,因此不合理的安排将会导致很多事情不能按照计划进行。如果用过时间管理,让自己每天全部按照行程安排来进行的人都知道,这样的坚持是很艰难的一件事情。

人生需要规划,否则就会感到时间的匆匆以及压力。

相关内容

谁是Jonathan Ive?

谁是Jonathan Ive?

今年春天在加州的巴沙迪纳,Art Center College of Design举行了设计师的集会Radical Craft。会上各种各样的设计师们使满席的同行群情激奋。服装设计师Isaac Mizrah讲述了他鼓舞人心的成名故事。人工智能的先驱Danny Hillis展示了一台能模拟地形的电脑,据说它能显示一切东西,甚至是喜马拉雅山的三维图。荷兰发明家Theo Jansen则带来了一个大众汽车般大小的,由塑料PVC管制成“海滩生物”(beach creatures),那东西就像George Lucas的星际螃蟹那样“走”过舞台。

但是展示会上最大牌的明星却没有一点炫耀卖弄的架子。苹果电脑主管工业设计的高级副总裁Jonathan Ive穿着一件深色T恤,顶着刚剃过的头摇摇晃晃地走上台,仿佛一个在去星巴克的路上迷失方向的毕业生。这个39岁的英国人,懒散的坐在座位上,一点也不引人注目,安静的回答主持人和获奖编辑Chee Pearlman提出的问题。尽管被邀请了很多次,他还是拒绝卖弄他自己的设计能力,也不愿意谈论和他那完美主义的老板Steve Jobs一起工作的感受。

除了Jobs,他是对苹果那些著名的炫目而令人惊喜的产品最有影响力的人。Ive更愿意谈论设计流程——他称之为“设计工艺”(the craft of design)。他满怀激情地谈论他的小团队以及他们如何共同工作。他谈到只将注意力集中在最重要的事情上和限制项目的数量,还谈到对一个产品如何被制造出来应该有深刻的理解:使用的原材质、制作加工时使用的工具、产品设计的用意。Ive强调的更多是对工作极度关心的必要性。

这些都算不上令人着迷,特别是对于一个著名的设计师来说。没有什么夸张的新闻,谈论的任何事都缺少具体细节。毫无疑问,这部分是因为Ive是一个不太合作的名人,但同样也因为苹果那种由Jobs赋予的无处不在的神秘感。事实上,Ive在这个场合不愿意多说什么,在其他场合也是,甚至英格兰皇家艺术学会作为Ive20年前的起点也没有得到任何特殊待遇。苹果以它自己的方式与外界沟通——最典型的就是推出新产品,比如9月12日那场盛大高调的发布会。

尽管如此,此次对Ive的采访证明许多接近苹果核心的人所言非虚——他是苹果的幕后功臣。Jobs指明方向并且提供灵感,却是Ive将苹果独特的创造力和造就美丽事物所必须的具体细节融合在一起。苹果创新的成功正是取决于这种主设计师与强力的老板间的契合。“我认为Steve Jobs找到了一个不仅懂得如何完成,甚至能超越的他的设想的人,并且是一次又一次的做到。” Pearlman说。

一切都从九年前开始。“Steve & Jony Show”创造出了一系列标志性的产品,从上世纪末拥有水果糖般颜色并且颠覆了全世界对家用电脑概念的iMac,到现在超薄的iPod Nano。苹果创造并且始终把握着数码音乐界的潮流,分析师们说这些年在电脑市场里它的分红是最多的。苹果的股票在过去10年里增长了232%,凌驾于任何一个科技市场。苹果将设计中的客户体验纳入蓝图,不仅是为了赢得富于创造力的美誉,更是为了赚得成千上万的真金白银并且对整个产业发起革命。“苹果伟大的贡献在于它证明你能通过贩卖情感而成为亿万富翁,证明设计也是一种有效的商业模式,” 提供产品设计服务的NewDealDesign的创始人 Gadi Amit说。

毫无疑问,Jobs本人是苹果在创新方面最独一无二的利器。尽管他看上去像一个摇滚明星,在那些充满戏剧性的新品推介会上为众多苹果拥趸炫出他的重力和弦(power chord),Jobs仍然像任何一个瑞士钟表匠一样忠实于完美。他会坚持将为了苹果第一个曼哈顿零售店而远渡重洋运来的精美意大利大理石先送到加州的Cupertino,以便让他检查石头的纹理。尽管其他地方的设计师必须与压低成本的人对抗,在苹果每个人都知道只有达到Jobs的高标准才能留下来。有这样一个故事,很可能是杜撰的,说Jobs曾经要求一个设计新Mac的设计师不准出现一个可见的螺丝钉。结果这个设计师做出来的模型上有一个藏在把手下不易被发现的螺丝钉,于是Jobs解雇了他。“苹果是这个世界上设计能力最强的公司,这一切都是因为Steve Jobs,” 现在为耐克工作的苹果前设计师Ray Riley说。

Ive说他和他的老板每天至少要交谈一次。事实上,他们差不多也过着同样的生活。尽管拥有盛名和巨额财富,他们都很注意保护自己的隐私。Ive和妻子,一个青梅竹马的历史学家,还有他们年幼的双胞胎一起生活,据Ive 的第一个合作伙伴Clive Grinyer说,住在一个没有“一丝炫耀与浮夸”的房子里。尽管有着出色的自我推销技巧,Jobs也过着一种相对安静的生活。他没有度假别墅,也很少出现在硅谷的社交和商业场合。运动鞋、T恤衫和Issey Miyake的圆领毛衣不仅是为了戏剧效果——Jobs确实喜欢这种随意的风格,Ive和他的设计小组也是。

如果Jobs是苹果设计精神的公开守卫者,那么Ive则是它天才设计团队的秘密领袖。“苹果是一种宗教,苹果的设计团队仿佛是一个更狂热的宗教,” Riley这样说。事实上,它并不是一个庞大的宗教——只有十几个人左右。但是他们的运作极其高效,不管是就个人还是做为一个团队而言。Ive曾经说过苹果的很多产品都是设计团队窝在工作室狭小的厨房里吃批萨时构想出来的。

这个是一个在田园诗般的舒适环境里工作了很多年的团队。Ive1992年加入公司时,一些设计师已经在那里很久了。他们很少参加行业盛事或者颁奖典礼。就好像他们并不需要外界的肯定,而且这是因为没人比他们在设计方面更权威,分享更多的信息只会使得别人窥得秘密缩小差距。设计师们自身就反映了苹果产品的设计感觉——漫不经心的别致、优雅及明显的Euro bent。这个由3、40岁人组成的团队有着鲜明的国际视野。成员不仅包括来自英国的Ive,还有新西兰的Danny Coster,意大利的Daniele De Iuliis和德国的Rico Zörkendörfer。“这是老派的同志间的友情——每个人都有着同样的目标,没有个人主义在里面,” 英国服装设计师Paul Smith说,自从1990年代Ive送给他一个新iMac后便成了朋友。“他们经常聚餐,做了许多实地考察。他们将这些灰扑扑、其貌不扬的电脑幻化成了美丽的雕塑,即使你不用也会想要拥有它们。”

Ive团队中的大部人住在旧金山,传言他们的起薪是20万美元左右,高出行业平均水平50%。他们在一个大的开放工作室中一起工作,但是拥有私人空间和绝对的隐私。普通的苹果员工不准进入,因为怕他们瞥见即将却尚未推出的产品。有一个庞大的音响系统播放音乐。Ive将他的设计资金投入到艺术品般的模型上,而不是用来召集一大群人。他的设计流程高度重复——制造一个又一个的模型以将新的理念具象化。“我想我们团队的特点之一便是希望犯错的意识,”Ive在Radical Craft上说。“这是一种好奇心和探险的欲望。对犯错感到激动是因为那意味着你发现了新东西。”

Ive的苹果团队并不像其他公司的那样只是一个聚集创造力的设计圈子。他们与工程师、市场营销人员甚至远在亚洲的外围制造商都有密切的接触。他们不只是单纯的造型设计师,还是使用新材料和革新生产流程的领导者。设计小组能想出办法在iPod白色或黑色的内核上覆盖一层透明的塑料以增加材质的纵深感,却仍旧能在很短时间内将每个零件组装起来。“苹果对大大小小各个方面都进行创新,如果不能达到他们想要的结果,他们就继续创新。它是唯一这样做的技术公司。” Frog Design的创始人Hartmut Esslinger说,他为Jobs设计了许多最初的苹果电脑。

这对诸如戴尔、惠普和微软等许多正在试图组建自己的设计团队的公司意味什么呢?他们并非没有理由期待。只要苹果仍旧将注意力集中在少数几项产品并且过分的倚重少数几个人,它就只能占据这么多的市场。“苹果的模式不能扩大,”惠普的首席设计师Sam Lucente强调。除非9月12日能有新的突破,苹果现在的视觉形象——白色盒子——已经持续了5年,变得没有什么悬念。

但是大多数大公司既没有苹果的专注和技术,也不想冒险将大批量生产的产品搞的好像是纽约或伦敦的高价时尚小店制造的一样。在过去的几十年中,电脑公司的注意力都集中在精打细算的降低成本上,而苹果则始终热衷于它的设计游戏。现在这些竞争对手也开始讲究设计了,这并不意味着它们正在迎头赶上,反而说明它们落后了有多远。

从一开始Ive就有自己的想法。他出生于伦敦的一个中产家庭,十几岁的时就沉迷于造物的神秘中。1985年Ive被纽卡斯尔艺术学校(Newcastle Polytechnic)的设计系录取,他的天赋很快就显现出来。在设计顾问公司Roberts Weaver Group实习期间,他设计了一支在顶端有圆球和夹子的笔,那种装置除了消遣别无它用。“这种笔立刻成为拥有者的最爱,因为你会一直想玩它。”当时还是Roberts Weave员工的Grinyer回忆道。“我们称之为‘having Jony-ness’,某种能释放产品潜在情感的额外的东西。”

等到毕业的时候,Ive已经是英国设计圈里的传奇。Grinyer造访过Ive位于纽卡斯尔Gateshead区的公寓一次,惊讶的发现屋子里挂满了他毕业设计的泡沫模型,那是一个能使老师更好地与有听力障碍的孩子交流的微型话筒与助听器的结合体(不出所料,使用的是白色的塑料)。“我从来没有见过这种事,一心一意要达到完美无缺,” Grinyer回忆说。

最后Ive获得了皇家艺术学会的学生设计大奖,不是一次,而是两次。第一次的获奖作品是一台自动出纳(取款)机,由比赛赞助商Pitney Bowes受托制作。这次获奖使他赢得飞往Stamford-(Conn.)公司短暂实习的机票,但是Ive很快决定改飞加州,以参观硅谷那些日益兴起的设计公司。当时在Lunar Design工作的Robert Brunner被Ive展示的一个优美的问号形电话惊呆了——不是一块泡沫疙瘩,而是一个拥有独立而完整的内部元件的真正模型。“那不仅是一个在设计上富于感情的产品,而且经过了工程设计,他考虑的是如何批量生产。” Brunner回忆道。

毕业后,1989年Ive加入了Grinyer所在的一家伦敦创业企业,Tangerine Design。但是他无法让那些英国公司赏识他的作品。当一家公司否决了他花了数月时间设计的一个浴缸后,“他沮丧而心灰意冷,” Grinyer说。“他全心全意的为实际上并不在乎他的人们工作。”Ive承认自己并不适合当一个设计顾问,对于那个工作来说推销才是最重要的技能。“我一点也不擅长经营设计买卖,我只想专注于设计艺术本身,”他告诉Pearlman。

因此在1992年,他前往西部到苹果寻找一种全新的生活。那时候,Brunner已经是苹果设计团队的领导人。他之前给过身在Tangerine 的Ive一些工作,让他帮助设计苹果的新笔记本PowerBook。现在他给了Ive一份永久性的工作。那时苹果正处于Jobs回归前的黯淡岁月,不仅亏损掉金钱和市场份额,还要作华尔街和商场的替罪羊。“出于一种不计后果的信任,”Ive 在Radical Craft上这样说。他正是接受Brunner的邀请而来。

从一开始,Ive就赢得了属于他的荣誉。他设计了第一个能运行苹果短命的“牛顿”软件的PDA。但是当1996年他接替Brunner成为苹果的设计主管时,苹果正处于大麻烦中。才29岁的Ive竭尽所能的与要求压低成本者斗争。他们搬走了深受设计师喜爱、用来模拟想象中产品的超级计算机Cray。于是苹果的产品开始看上去和其他公司的产品一样无趣。Ive仍然能引进一些新的有天赋的年轻设计师并保持士气。曾经是新雇员之一的前苹果设计师Thomas Meyerhoffer说:“Jonathan从来不站在椅子上或者发表什么演讲。但是如果不是他相信我们能做到,我们根本不相信。”

1997年7月9日,Jobs回归并从被驱逐的CEO Gilbert F. Amelio手中拿回苹果的统治权。Jobs迅速开始重整公司,据他的两个同事说,Ive差点没有在这最初的混乱中幸存下来。当时Jobs大刀阔斧的将苹果60多个产品削减到只剩4个,并在全世界奔走以寻求一个真正的超级设计明星。他找过设计IBM Thinkpad笔记本的Richard Sapper,汽车设计师Giorgetto Giugiaro,以及建筑师/设计师Ettore Sotsass。

但是当Ive重新翻出布满灰尘的简历后,独具慧眼的Jobs意识到他已经找到了他想要的人。当Jobs开始推行自己的设计标准时,Ive反而成了受益者。“Steve Jobs是一个暴君,但那正是苹果所需要的,”实用性专家和作家Donald A. Norman说,即使他本人就是早期被扫地出门的成百上千人之一。“Jobs说;‘这就是我们要前进的方向。’然后他放手让Jonathan去实现这个目标。”

这两人间的合作引爆出许多伟大的苹果产品。一切始于第一台iMac。决心将家用电脑重塑为使有趣而不是难以亲近的东西,苹果创造了一个用户友好且多合一的模型,置于一个深蓝色半透明的外壳里。知情人说大多数设计是和蔼可亲的新西兰人Danny Coster在Ive的大力协作下作出的。,

为了弄明白如何使塑料外壳看上去蛊惑人心而不是廉价货,Ive和其他人跑到一家糖果厂研究胶质软糖。他们和亚洲制造商一起花了几个月研究批量生产iMac的熟练工艺。设计小组甚至力争重新设计内部电子元件和线路,以保证透过厚壳它们看上去也很好看。这对Jobs、Ive和苹果来说是很大的风险。一个竞争对手说:“我曾经也想证明半透明能增加我们的销售,但是没有方法证明。”他估算苹果在每台电脑外壳上的花费高达65美元,而行业平均水平可能只有20美元。

2001年,苹果推出第一台钛合金制作的电脑。幕后工臣Ive让Danny De Iuliis和其他两个小组成员偷偷将价值不菲的电脑运到旧金山的仓库,在远离苹果本部的那里建立工作室。他们在那儿工作了6个月作出了基本设计,然后前往亚洲协商宽屏平板的事,并与精密元件生产商一起工作。结果出来的是一种干净简洁的后工业风格,标志着iMac之前那种更趋于新奇异常的设计语言的终结。当年10月,苹果又推出了iPod,立即成为数码音乐播放器的“酷”标准——这不仅是因为iPod本身,也是因为它和苹果的播放软件兼网上商店iTunes天衣无缝的结合。

那种整合正是苹果设计魔力的主要部分。把“设计”仅仅当作一种风格或者时尚的想法并没有把握住重点。最初的iMac显然是对Jetsons设计学校的回溯。iPod白色、简洁的外观是“1960年代晚期和1970年代早期中欧设计风格的直系派生”,NewDealDesign’的Amit说。将苹果的许多产品与Braun的首席设计师Dieter Rams的作品比较,“你会发现几乎一模一样,”他说。

真正将苹果的产品从大众中区分出来的是“舒适和完美”,这是由产品研发过程中成千上万个小决策最终汇集成的最后感觉。以苹果先进的喷射模塑法(injection molding)为例,其中既有科学也有艺术,更有无数的试错。这道流程要求计算出如何将溶化的塑料或者金属通过细小的馈线(feed lines)注入到一个不规则形状的洞(cavity)里,并且要留下数量恰到好处的洞(holes),这样当它在几秒钟后冷却时就能完美无瑕。
Ive的团队非常理解并且尊重产品制造过程中的这类流程,以至亚洲的精密零件制造商和供应商都愿意和他们合作——尽管苹果在有关成本控制的谈判上显得十分凶狠。供应商通过与苹果的合作领先于未来,因为制定设计界规则的是苹果。

当然,苹果也会犯错。苹果G4 Cube在上市不到1年就在2000年被放弃,厚重透明的外壳上裂缝般的外观是诸多问题之一。公司也面临着关于iPod nano刮痕的起诉。尽管白色的iBook 和PowerBook是创造性的胜利,最近苹果还是因为电池存在潜在问题而召回了180万台。

这些错误和苹果一贯的成功的高科技制造者形象比起来微不足道。最近刚获得最高级巴思爵士勋章(Commander of the Most Excellent Order of the British Empire ,CBE)的Ive是主要原因。毫无疑问,这项老旧的荣誉会使一些设计师对手嘲笑Ive的鼎盛时期已经过去了。其实不尽然。只要Ive还有他合作无间的团队和铁腕老板,Steve和Jony就会继续表现出色。

[From

[旧文]谁是Jonathan Ive? - apple4us

]

相关内容

iphone, ical和google calendar

今天和leo说到iphone的GTD功能,后来想起google calendar好像和ical联系比较紧密。尝试了一下。体会如下:

1 iCal作为osx自带的日历管理软件,有很强的功能,并且和apple其他软件一样,简介的界面后面是强大的特性。ical和iphone上的日历程序天生能够同步,这个不用操心什么。
2 iCal有一个订阅功能,就是订阅其他符合标准的日历程序,而google calensar就是这样一个程序。在google日历左下的我的日历-日历设置-私人网址,可以看到一个ICAL的按钮,点击后能够的得到一个url,输入到iCal的订阅功能中,正常的话,几秒后就会弹出一个窗口,你可以再输入一些描述信息和刷新时间等。iCal会为你的订阅建立一个单独的分类。
3 这样就完成了从google日历到iCal,再到iphone的同步过程。前提是你经常使用google的服务,包括日历服务,你使用mac,需要用iphone管理你的日程。

08-5-29 看到有一个iphone上的软件,叫做NemuSync,0.5.4p1,可以同步GC和iphone上的calendar。这样的好处是可以不用通过itunes转一下,而直接同步。

相关内容

iPhone 101

通讯录

1 让iphone的通讯录排序的简单办法是在First字段填写名的拼音,在Last字段填写姓的拼音和中文名字。

网络

1 怎么用iphone在国内用gprs呢。测试下来,在一般设置-网络-EDGE中,三项都输入CMNET,就可以使用gprs上网了。速度比wifi肯定要慢一些,不过还可以,没有到不可忍受的地步。要小心流量超标的话,注意三点,每天10086检查一次GPRS套餐的流量使用情况;另外在有wifi的地方,需要不厌其烦的关闭EDGE功能(用BossPrefs),以免流量出问题;第三检查状态图标,EDGE和wifi在连接状态的图标是不一样的。

系统技巧

1 如果你开启了iphone的截屏功能,可以这样操作,截屏会存储在相册中:按住home键,将mute开关拨动一下,屏幕闪一下白色,就ok了。

2 内置的闹钟功能很强,使用起来也很容易。当时当闹钟响的时候,解锁一样的滑动才是解除闹钟,点击一下屏幕上的snooze按钮,过一会闹钟还会响起,也就是延缓功能(可以再小睡一下)。

3 iphone的内置铃声很少,不过并不是iphone不能放出悠扬的歌曲。我试验了一下,最不需要额外知识的除了从apple买铃声以外,是用install软件安装Ringtones,这是个iphone应用,你可以直接将ipod功能中的歌曲转换为铃声或者短信的声音。

故障处理

1 终于碰到了传说中的白苹果界面,一开始比较紧张,过了大概一分钟,自动到了待机界面。

Google

1 用iphone访问gmail和google reader都有专门的页面,正好合适iphone的屏幕尺寸。特别是gmail的iphone专用版本做得非常好。

第三方软件

1 如果你的iphone安装过ssh的话,有点危险,因为密码是通用的,一般情况下还不能修改,所以可以常使用BossPrefs来关闭ssh。

2 有时候wifi不能连接,我一开始用重启的办法,现在发现可以在BossPrefs中重启一下wifi来解决这个问题。

(last update 2008.6.29.)

相关内容

iphone实拍照片

iphone

充电中的iphone

iphone

更换了默认的wallpaper

iphone

默认的主题还是不错的

iphone

iphone的safari做得非常棒

iphone

和blackberry在一起

相关内容

总是有很多有趣的事情在我们看似平淡的生活

1 douban的widget好像不能跟随同步更新了。

2 很多人种种方式在douban上加我好友,谢谢。

3 gmail在iphone和在windows mobile上原来是完全不一样的呈现。

4 在北京机场碰到一个熟人,并且正好在离开北京公司的时候和boss说倒过这个人。

5 2008北京车展终于用新馆了,听说配套条件不好。想起2006年很多故事。

6 总是有人喜欢挑刺,我想是因为年轻。可能是心态,可能是阅历,我们要学会宽容。换位思考绝对很难。

7 很欣喜的上了一起网,结果很失望,有些人可能适合做研究,做产品就是另外一回事情了。

相关内容