mirror of
https://github.com/gnustep/libs-steptalk.git
synced 2025-02-22 02:51:05 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/steptalk/trunk@16926 72102866-910b-0410-8b05-ffd578937521
194 lines
3.6 KiB
Text
194 lines
3.6 KiB
Text
Unix shell equivalents
|
|
----------------------
|
|
|
|
StepTalk is not meant to be used for tasks that can be done using ordinary Unix
|
|
shells. But this does not mean, that it cannot be used for such tasks. In this
|
|
file you may find list of unix commands and tasks and their Smalltalk
|
|
equivalents.
|
|
|
|
Contents:
|
|
|
|
File Manipulation
|
|
Output
|
|
Paths and filenames
|
|
Network
|
|
Math
|
|
Date and Time
|
|
|
|
File manipulation
|
|
-----------------
|
|
|
|
> fm := NSFileManager defaultManager
|
|
|
|
ls
|
|
|
|
> (fm directoryContentsAtPath: '.') sortedArrayUsingSelector:#compare:
|
|
|
|
pwd
|
|
|
|
> fm currentDirectoryPath
|
|
|
|
cd path
|
|
|
|
> fm changeCurrentDirectoryPath: 'path'
|
|
|
|
ln -s path other
|
|
|
|
> fm createSymbolicLinkAtPath:'path' pathContent:'other'
|
|
|
|
cp src dest
|
|
|
|
> fm copyPath:'src' toPath:'dest' handler: nil
|
|
|
|
cp file_list dest
|
|
|
|
> file_list do: [ :file | fm copyPath:file toPath:'dest' handler: nil ]
|
|
|
|
mv - as cp, movePath:toPath:handler:
|
|
ln - as cp, linkPath:toPath:handler:
|
|
rm - removeFileAtPath:handler:
|
|
|
|
mkdir dir
|
|
|
|
> fm createDirectoryAtPath:'dir' attributes:nil
|
|
|
|
df path
|
|
|
|
> fm fileSystemAttributesAtPath:'path'
|
|
|
|
Output
|
|
------
|
|
|
|
echo 'string'
|
|
|
|
> Transcript show:'string'
|
|
|
|
cat file
|
|
|
|
> Transcript show: (NSString stringWithContentsOfFile:'file')
|
|
|
|
"write a string to a file"
|
|
|
|
> ('string' writeToFile:'file' atomically:YES)
|
|
|
|
"create a string from a file"
|
|
|
|
> str := NSString stringWithContentsOfFile:'file'
|
|
|
|
|
|
Paths and filenames
|
|
--------------------------------
|
|
For more information, refer to the NSString documentation.
|
|
NSString methods for path manipulation:
|
|
|
|
- fileSystemRepresentation
|
|
- isAbsolutePath
|
|
|
|
- pathComponents
|
|
- lastPathComponent
|
|
- pathExtension
|
|
|
|
- stringByAbbreviatingWithTildeInPath
|
|
- stringByAppendingPathComponent:
|
|
- stringByAppendingPathExtension:
|
|
- stringByDeletingLastPathComponent
|
|
- stringByDeletingPathExtension
|
|
- stringByExpandingTildeInPath
|
|
- stringByResolvingSymlinksInPath
|
|
- stringByStandardizingPath
|
|
- stringsByAppendingPaths:
|
|
|
|
Examples:
|
|
|
|
> path := '/usr/GNUstep/System/Applications/Ink.app'
|
|
> path pathComponents
|
|
(?) GSArray
|
|
0 /
|
|
1 usr
|
|
2 GNUstep
|
|
3 System
|
|
4 Applications
|
|
5 Ink.app
|
|
|
|
> path lastPathComponent
|
|
(?) Ink.app
|
|
|
|
> path pathExtension
|
|
(?) app
|
|
|
|
In Smalltalk there is a symbolic selector '/' for NSString that is equivalent to
|
|
the 'stringByAppendingPathComponent:'.
|
|
|
|
> path := 'somePath'
|
|
> filename := 'someFilename'
|
|
> fullPath := path / filename
|
|
|
|
Network
|
|
-------
|
|
|
|
localhost
|
|
|
|
> NSHost currentHost name
|
|
|
|
nslookup host_name
|
|
|
|
> (NSHost hostWithName:'host_name') addresses
|
|
|
|
nslookup host_address
|
|
|
|
> (NSHost hostWithAddress:'host_address') names
|
|
|
|
"download a file from the web"
|
|
|
|
> data := NSData dataWithContentsOfURL:'url'
|
|
> data writeToFile:'file' atomically:YES
|
|
|
|
"read a file from the web"
|
|
|
|
> string := NSString stringWithContentsOfURL:'url'
|
|
|
|
|
|
Math
|
|
----
|
|
Just like in:
|
|
> 1 + 1
|
|
or in:
|
|
> a := b * c
|
|
|
|
|
|
Date and Time
|
|
-------------
|
|
|
|
date
|
|
> NSDate date
|
|
...or...
|
|
date
|
|
> NSCalendarDate date
|
|
|
|
|
|
For more information read the NSDate and NSCalendarDate documentation
|
|
|
|
NSCalendarDate methods:
|
|
|
|
Creating a date
|
|
|
|
+ calendarDate
|
|
+ dateWithString:calendarFormat:
|
|
+ dateWithString:calendarFormat:locale:
|
|
+ dateWithYear:month:day:hour:minute:second:timeZone:
|
|
|
|
Retrieving date elements
|
|
|
|
- dayOfCommonEra
|
|
- dayOfMonth
|
|
- dayOfWeek
|
|
- dayOfYear
|
|
- hourOfDay
|
|
- minuteOfHour
|
|
- monthOfYear
|
|
- secondOfMinute
|
|
- yearOfCommonEra
|
|
|
|
Adjusting a date
|
|
|
|
- dateByAddingYears:months:days:hours:minutes:seconds:
|